rubyの%表記を使用してFixnumの配列を作成する方法はありますか?
たとえば、[編集:例を連続しない数字に変更]など、書くのは明らかに非常に簡単です。
digits = %w{4 8 15 16 23 42}.map{|d| d.to_i}
=> [4, 8, 15, 16, 23, 42]
しかし、それは私を悩ませ、地図なしでそれを行う方法があるかどうか疑問に思っています。これらの情報源のどれもそのような可能性について言及していません---私は運が悪いのですか?
rubyの%表記を使用してFixnumの配列を作成する方法はありますか?
たとえば、[編集:例を連続しない数字に変更]など、書くのは明らかに非常に簡単です。
digits = %w{4 8 15 16 23 42}.map{|d| d.to_i}
=> [4, 8, 15, 16, 23, 42]
しかし、それは私を悩ませ、地図なしでそれを行う方法があるかどうか疑問に思っています。これらの情報源のどれもそのような可能性について言及していません---私は運が悪いのですか?
%表記は、Rubyで継承を処理する「ろくでなし」のPerl文字列の1つであるように思われるので、私はそれを強く疑っていますが、
digits = %w{1 2 3 4 5 6 7 8 9 10}.map(&:to_i)
%表記は特に文字列に関するものであるため、指定した例よりも近づけることはできません。
気になる整数が連続している場合は、Rangeオブジェクトを使用できます。
(1..10).to_a
私は何かを逃していますか、それともしていますか
digits = [4, 8, 15, 16, 23, 42]
=> [4, 8, 15, 16, 23, 42]
しないの?
ところで、数字の優れた選択:)
Array.new(10) {|i| i}
地図を使わない方法です。
ソースコードを Ruby に変換する parse.y を編集してから、Ruby を再コンパイルできます。自分で parse.y を編集したことはありませんが、RubyKaigi2011 で面白くて素晴らしい話がありました。