我想知道,是、、、、基本核心&&
不可 更改的功能(如在其他语言中,例如:php)还是它们是对象方法, 但定义了一些神奇的方式and
||
or
&
<=>
关于我的思想特征的更多细节:
[] & [10]
# => []
[].&([10])
# => []
"aaa".& 10
# NoMethodError: undefined method `&' for "aaa":String
注意它说未定义的方法
……当然可以。
true.& false
# => false
...但你不能这样做:
true.&& false
# SyntaxError:
所以如果有可能
class String
# monkey patch. If you googled this don't use this in real world, use ruby mixins insted
def &(right_side)
# do something meaningfull
right_side
end
end
"aaa".& 10
# => 10 # ta-da!
有没有(有一些魔法)可以做:
class String
# monkey patch. If you googled this don't use this in real world, use ruby mixins insted
def &&(right side)
# do something meaningfull
right side
end
end
# => SyntaxError: (irb):13: syntax error, unexpected keyword_end
谢谢