Ho un pezzo di codice in Ruby, che va come segue:Può un "if (a == b || c == b)" dichiarazione sia fatta più corta in Ruby
def check
if a == b || c == b
# execute some code
# b = the same variable
end
end
può questo essere scritto come
def check
if a || c == b
# this doesn't do the trick
end
if (a || c) == b
# this also doesn't do the magic as I thought it would
end
end
O in un modo in cui non ho bisogno di digitare b
due volte. Questo è per pigrizia e mi piacerebbe saperlo.
cosa c'era di sbagliato con '(a || c) == b'? È indietro nel tempo, come suggerirei di provare 'b == (a || c) '(che segue le migliori convenzioni di algebra booleana). – acolyte
@acolyte Che dire del caso in cui 'a = 1'' c = 0' 'b = 0'? –
@RyanAmos quindi b == c, pertanto il condizionale restituisce true. a meno che rubino abbia un significato alternativo per '||'. Supponevo che fosse sinonimo di OR logico. – acolyte