Оператор IF для одной переменной с несколькими значениями - PullRequest
1 голос
/ 18 марта 2019

Есть ли лучший способ написать этот оператор IF для проверки нескольких вариантов переменной?

<#if PRINTER_PET.RETAILER_NAME = 'BEST BUY' || PRINTER_PET.RETAILER_NAME = 'Best Buy Purchasing LLC'>
document 1 
<#elseif  PRINTER_PET.RETAILER_NAME = 'AMAZON' || PRINTER_PET.RETAILER_NAME = 'Amazon Fulfillment Services Inc Attn: Amazon.com' >
document 2
</#if>

Спасибо, Эрика

Ответы [ 2 ]

2 голосов
/ 19 марта 2019

Вы можете извлечь PRINTER_PET.RETAILER_NAME в переменную, например <#assign retName = PRINTER_PET.RETAILER_NAME>, и тогда она будет несколько короче (<#if retName == 'foo' || retName == 'bar'> и т. Д.).Кроме того, если у вас есть много строк для сравнения, <#if ['foo', 'bar', 'baaz']?seq_contains(retName)> может быть лучше.

1 голос
/ 19 марта 2019

Следуйте примеру Freemrker Сравнение и используйте == и ":

<#if PRINTER_PET.RETAILER_NAME == "BEST BUY" || PRINTER_PET.RETAILER_NAME == "Best Buy Purchasing LLC">
document 1 
<#elseif  PRINTER_PET.RETAILER_NAME == "AMAZON" || PRINTER_PET.RETAILER_NAME == "Amazon Fulfillment Services Inc Attn: Amazon.com" >
document 2
</#if>

Выражение user == "Big Joe" в <#if ...> будет иметь логическое значение true, поэтому в приведенном выше тексте будет указано "Это большой Джо".

Логический или: ||

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...