我通常需要检查以下内容:
if ['Bob','Mary','John'].include? @user.name
是否可以像这样写:
if @user.name.in? ['Bob','Mary','John']
谢谢。if ['Bob','Mary','John'].include? @user.name
是否可以像这样写:
if @user.name.in? ['Bob','Mary','John']
谢谢。Object.in?
方法。characters = ["Konata", "Kagami", "Tsukasa"]
"Konata".in?(characters) # => true
character = "Konata"
character.in?("Konata", "Kagami", "Tsukasa") # => true
@user.name
是一个String
,你可以在String
后面加上in?
。class String
def in? a
a.include? self
end
end
irb(main):011:0> 'Bob'.in? ['Bob','Mary','John']
=> true
irb(main):012:0> 'Jane'.in? ['Bob','Mary','John']
=> false
String
上?你可以将其添加到Object
中。然后你就可以使用6.in?([1,2,])
了。或者in?
是另一个对象的一部分吗? - knutin?
是否在其他任何地方使用。因此,我建议将猴子补丁限制为特定的类。 - phlogratos