28617
環境：Ruby2.0.0  
Windows8.1 home 32bit

Rubyで配列の要素すべてを整数に変換したいのですが、

```

    foo = ["1","2","3","4"]
    
```

これをなるべく簡単に

```

    foo = [ 1 , 2 , 3 , 4 ]
    
```

に置き換えるにはどのようにすればいいでしょうか？

```

    foo = ["1","2","3","4"]
    i = 0
    while i <= 3
        foo[i] = foo[i].to_i
    　  i += 1
    end
    
```

個人的こう書いてますが、もっといい書き方があれば教えて下さい。
CC BY-SA 3.0
2016-08-27T06:25:13.490
28524
2016-09-01T03:11:52.357
2016-08-27T06:32:29.373
16877
16877
question
ruby array
Rubyで配列の要素すべてを整数に変換したい
速さまでは確認していませんが、こんな書き方ができます。

```

    foo.map!{|x| x.to_i}
    
```
CC BY-SA 3.0
2016-08-27T06:30:36.767
28525
2016-08-27T06:30:36.767
13972
28524
answer
好き好きありますが、こういうのもあります。

```

    foo.map!(&:to_i)
    
```

こうすると `{|hoge| hoge.to_i}` みたいにhogeを二回入力するのを省略できてよいです。

詳しくはここを参考にして下さい。  
<http://www.xmisao.com/2014/02/09/ruby-array-map-idiom-symbol-to-proc.html>
CC BY-SA 3.0
2016-09-01T03:11:52.357
28617
2016-09-01T03:11:52.357
8329
28524
answer