KZc*_*ing 4 ruby ruby-on-rails object operators
我是Ruby的新手,所以我还在学习一些东西.但是,我确实有很好的Java和C经验.
我想知道这到底是做什么的:
[ 'a','b', 'c' ].each_with_index {|item, index| result << [item, index] }
Run Code Online (Sandbox Code Playgroud)
具体来说,我对此感兴趣<<.一些研究告诉我它用于位移,但很明显,这不是这种情况,所以它在这里做了什么?
在Ruby中,所有C/Java中的运算符,如+, - ,*,/等,实际上都是方法调用.您可以根据需要重新定义它们.
class MyInteger
def +(other)
42 # or anything you want
end
end
Run Code Online (Sandbox Code Playgroud)
Array将<<方法定义为"在此数组的末尾推送此项".对于整数,它定义为稍微移位.
除了Array之外,许多其他类定义<<为表示某种"附加"操作.
| 归档时间: |
|
| 查看次数: |
4550 次 |
| 最近记录: |