Test whether a variable equals either one of two values

后端 未结 7 1226
别那么骄傲
别那么骄傲 2020-12-13 08:31

I want to test whether a equals 1 or 2

I could do

a == 1 || a == 2

but this requires repeating

7条回答
  •  Happy的楠姐
    2020-12-13 08:59

    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? a is 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:

    class Object
      def member_of? container
        container.include? self
      end
    end
    

    and then you can do a.member_of? [1, 2].

提交回复
热议问题