У меня есть код, в котором я хочу выполнить оператор if с 3 выполненными условиями.Тем не менее, в одном из моих условий я могу разрешить либо.
Например, оператор if равен true if( 5 && 6 && (7||9||10||12))
.Таким образом, 5,6,10 будет правдой, а 5,6,13 - нет.
У меня есть код в ruby с такой же логикой, но он дает мне синтаксические ошибки (возможно, из-за лишних скобок).Однако мне было интересно, разрешена ли эта логика.
if (constraintsHashed[i][DINING_CONSTRAINTS].downcase.include? userDiningOptions) && (constraintsHashed[i][COST_CONSTRAINTS].downcase.include? userBudget) &&
(((userTime >= Time.parse(TENAM)) && userTime <= Time.parse(NINEPM)) or (userTime >= Time.parse(SEVENAM) && userTime <= Time.parse(TWELVEAM)) or
(userTime >= Time.parse(SEVENAM)) && (userTime <= Time.parse(FIVEPM)) or (userTime >= Time.parse(NINEAM)) && (userTime <= Time.parse(SIXPM)) or
(userTime >= Time.parse(TWELVEPM)) && (userTime <= Time.parse(TWELVEAM)) or (userTime >= Time.parse(TENAM)) && (userTime <= Time.parse(ELEVENPM)))
Трассировка стека:
diningHall.rb:132: syntax error, unexpected keyword_else, expecting ')'
diningHall.rb:134: syntax error, unexpected keyword_end, expecting ')'
end #End for if(constraintsHashed
^
diningHall.rb:141: syntax error, unexpected keyword_end, expecting ')'
end #End for def weekendOptions
^
diningHall.rb:269: syntax error, unexpected end-of-input, expecting ')'
main() #Program starts here
^