2011-12-02 52 views
1

在Ruby中,我有一個數組:簡單的方法來反轉數組元素的極性紅寶石

[1, 1, 1, -1, -1, 1, -1, -1] 

我想:

[-1, -1, -1, 1, 1, -1, 1, 1] 

我相信Ruby有一個容易在線解決方案,但它現在逃脫了我。

+0

我知道array.collect {| x | x * -1}的作品,但我想知道是否有一個單詞方法,做我想做的。 –

回答

2
[1, 1, 1, -1, -1, 1, -1, -1].map {|e| -e} 

應該這樣做。

1
[1, 1, 1, -1, -1, 1, -1, -1].map(&-1.method(:*)) 

要解釋它是如何工作的:

-1.method(:*) 

是我說的-1對象「能否請你還給我,表示你是一個方法對象乘以一個變量?「和

map(&...) 

是我說「而不是給你一個文字塊,我要去給你的東西與就像一個塊中的符號前綴」。

method的RDoc文檔可以看到here