Проверка пола в IF?

  • Автор темы Автор темы Andy Idol
  • Дата начала Дата начала

Andy Idol

Новичок
Регистрация
28.05.2016
Сообщения
29
Реакции
0
Баллы
1
Здравствуйте!

Пытаюсь проверять пол из профиля через условный оператор IF, перепробовал уже всё что можно, оператор всегда переходит по ложной ветке.

Пробовал следующие условия:
  • {-Profile.Sex-}
  • {-Profile.Sex-} == True
  • {-Profile.Sex-} == "True"
  • {-Profile.Sex-} == 'True'

Всё равно программа всегда интерпретирует условие как ложное.

Подскажите пожалуйста, как правильно задать условие. Благодарю!
 
OMG, благодарю. Ни за что в жизни бы сам не догадался. А с чем связан такой странный синтаксис? Где можно почитать подробнее?
все переменные зенки строковые. В нужных местах, например, увеличение уменьшение счетчика или сравнение чисел в if, она интерпретирет их в числовые. Типа булеан там нет. Либо строки, например, '{-переменная-}' == 'True', либо числа, например, {-переменная-} == 3. Какой тип подразумевается в условии решают кавычки. От этих данных и отталкивайся.
 
Благодарю :ay:

А разработчикам советую обновить документацию, в частности вот эту статью:
http://zennolab.com/wiki/ru:logic
(там об этом ничего явно не сказано, лучше добавить конкретные примеры)
 
Да вроде всё там это есть. Без конкретных примеров, но достаточно подробно и понятно. Правда, чуток не так, как я написал


Cинтаксические особенности
Cинтаксические особенности основаны на сравнении разных типов данных. Данные в логике можно разделить на два типа - числовой и не числовой(текст).

При сравнении чисел не нужно использовать кавычки.

При сравнении текста нужно использовать кавычки. Аналогично и при сравнении переменных, если в них лежит текст.

Кавычки могут быть как одинарные ' ' так и двойные " " .
 
Да вроде всё там это есть. Без конкретных примеров, но достаточно подробно и понятно. Правда, чуток не так, как я написал


Cинтаксические особенности
Cинтаксические особенности основаны на сравнении разных типов данных. Данные в логике можно разделить на два типа - числовой и не числовой(текст).

При сравнении чисел не нужно использовать кавычки.

При сравнении текста нужно использовать кавычки. Аналогично и при сравнении переменных, если в них лежит текст.

Кавычки могут быть как одинарные ' ' так и двойные " " .

Просто из этого совершенно не следует, что нужно помещать название переменной в кавычки, это скорее даже противоречит всем известным мне языкам.
 
Здравствуйте!

Пытаюсь проверять пол из профиля через условный оператор IF, перепробовал уже всё что можно, оператор всегда переходит по ложной ветке.

Пробовал следующие условия:
  • {-Profile.Sex-}
  • {-Profile.Sex-} == True
  • {-Profile.Sex-} == "True"
  • {-Profile.Sex-} == 'True'

Всё равно программа всегда интерпретирует условие как ложное.

Подскажите пожалуйста, как правильно задать условие. Благодарю!

Пробуйте так:

"{-Profile.Sex-}" == "Male"

То есть в нашем варианте проверяем на мужской пол, если по зеленой тогда мужик, если по красной то женский пол. У меня так работает=)
 
Пробуйте так:

"{-Profile.Sex-}" == "Male"

То есть в нашем варианте проверяем на мужской пол, если по зеленой тогда мужик, если по красной то женский пол. У меня так работает=)
там хранится либо True либо False
 
там хранится либо True либо False

Я тоже так думал но увы нет, это не так

LSi60.jpg
 
Последнее редактирование:
Проверил, у меня также. В переменных пишется True. При выводе из сниппета пишется Male. Если делаю оповещение в лог обычной зеновской переменной - пишется True.
Путаница какая-то
 
  • Оценить
Реакции: samsonnn
Проверил, у меня также. В переменных пишется True. При выводе из сниппета пишется Male. Если делаю оповещение в лог обычной зеновской переменной - пишется True.
Путаница какая-то
да) они отличаются) давно так)
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)