I want to test whether a equals 1 or 2
I could do
a == 1 || a == 2
but this requires repeating a (which would be annoying for longer variables)
I’d like to do something like a == (1 || 2), but obviously this won’t work
I could do [1, 2].include?(a), which is not bad, but strikes me as a bit harder to read
Just wondering how do to this with idiomatic ruby
Your first method is idiomatic Ruby. Unfortunately Ruby doesn’t have an equivalent of Python’s
a in [1,2], which I think would be nicer. Your[1,2].include? ais the nearest alternative, and I think it’s a little backwards from the most natural way.Of course, if you use this a lot, you could do this:
and then you can do
a.member_of? [1, 2].