2

rubyの%表記を使用してFixnumの配列を作成する方法はありますか?

たとえば、[編集:例を連続しない数字に変更]など、書くのは明らかに非常に簡単です。

digits = %w{4 8 15 16 23 42}.map{|d| d.to_i}

=> [4, 8, 15, 16, 23, 42]

しかし、それは私を悩ませ、地図なしでそれを行う方法があるかどうか疑問に思っています。これらの情報源のどれもそのような可能性について言及していません---私は運が悪いのですか?

%w(array)はどういう意味ですか?

ルビーの%w「もの」とは何ですか?

Rubyプログラミング構文-%表記

4

5 に答える 5

4

%表記は、Rubyで継承を処理する「ろくでなし」のPerl文字列の1つであるように思われるので、私はそれを強く疑っていますが、

digits = %w{1 2 3 4 5 6 7 8 9 10}.map(&:to_i)
于 2011-10-04T19:09:27.940 に答える
2

%表記は特に文字列に関するものであるため、指定した例よりも近づけることはできません。

気になる整数が連続している場合は、Rangeオブジェクトを使用できます。

(1..10).to_a
于 2011-10-04T19:11:01.473 に答える
2

私は何かを逃していますか、それともしていますか

digits = [4, 8, 15, 16, 23, 42]

=> [4, 8, 15, 16, 23, 42]

しないの?

ところで、数字の優れた選択:)

于 2011-10-04T19:59:23.057 に答える
0
Array.new(10) {|i| i}

地図を使わない方法です。

于 2011-10-04T19:09:44.043 に答える
0

ソースコードを Ruby に変換する parse.y を編集してから、Ruby を再コンパイルできます。自分で parse.y を編集したことはありませんが、RubyKaigi2011 で面白くて素晴らしい話がありました。

于 2011-10-04T22:07:51.523 に答える