is there a ruby one-line “return if x”?

后端 未结 4 1486
有刺的猬
有刺的猬 2021-02-06 22:08

have a ton of places I need to add

if this_flag
  return
end

can that be done on one line with ruby?

4条回答
  •  半阙折子戏
    2021-02-06 22:57

    Create a method that check for the expected class types Example below. Method check_class will return true as soon as it finds the correct class. Useful if you may need to expand the number of different class types for any reason.

    def check_class(x)
      return true if is_string(x) 
      return true if is_integer(x)
      # etc etc for possible class types
      return false # Otherwise return false
    end
    
    def is_string(y)
      y.is_a? String
    end
    
    def is_integer(z)
      z.is_a? Integer
    end
    
    
    a = "string"
    puts "#{check_class(a)}"
    

提交回复
热议问题