我想编写一些改变调用对象的新Array方法,如下所示:
a = [1,2,3,4]
a.map!{|e| e+1}
a = [2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
......但是我在说明如何做到这一点.我想我需要一个新的大脑.
所以,我想要这样的事情:
class Array
def stuff!
# change the calling object in some way
end
end
Run Code Online (Sandbox Code Playgroud)
地图!只是一个例子,我想写一个完全新鲜的,而不使用任何预先存在的!方法.
谢谢!
编辑 - 更新了答案以反映您的问题的更改.
class Array
def stuff!
self[0] = "a"
end
end
foo = [1,2,3,4]
foo.stuff!
p foo #=> ['a',2,3,4]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4899 次 |
| 最近记录: |