is there a ruby one-line "return if x"?
have a ton of places I need to add
if this_flag
return
end
can 开发者_如何转开发that be done on one line with ruby?
is there a ruby one-line “
return if x
” ?
Yes:
return value if condition
I love Ruby :-)
Some additions to Jörg W Mittag's good answer:
x && return
x and return
if x then return end
I do not actually recommend the first two forms: however, the above examples are all valid productions. I personally prefer to avoid return
in general -- most grammar constructs in Ruby are usable expressions.
Happy coding.
Ruby always returns the last thing... Why not just structure your code differently?
def returner(test)
"success" if test
end
Whatever you've done last will return. I love Ruby.
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)}"
精彩评论