2

これは私の配列[1, 6, 8, 16, 21]です。なりたい["1", "6", "8", "16", "21"]

私が試してみました:

[1, 6, 8, 16, 21].collect {|x| "x" }
=> ["x", "x", "x", "x", "x"]

収集を使用する正しい方法はありますか?値を引用符で囲むように収集関数をフォーマットするにはどうすればよいですか?

4

3 に答える 3

6

あなたはそれらの引用が何を意味するのか理解していないと思います。本当に必要なのは、整数の配列を取得して、文字列の配列に変換することです。

a = [1, 6, 8, 16, 21]
a.map(&:to_s)
# => ["1", "6", "8", "16", "21"]

ここで、fromの各要素aはメソッドにマップされ、to_sメソッドは数値の文字列表現を返します。

于 2013-03-25T19:11:48.870 に答える
5

数字を文字列に変えたいですか?次にこれを試してください:

[1, 6, 8, 16, 21].map(&:to_s)

または完全なフォーム

[1, 6, 8, 16, 21].map{|i| i.to_s }
于 2013-03-25T19:11:15.653 に答える
5

例で試しているように、文字列補間を使用できます。#{}変数を文字列に二重引用符で囲む必要があります"#{ variable }"

[1, 6, 8, 16, 21].collect {|x| "#{x}" } # "x" will just return string "x"
于 2013-03-25T19:15:08.027 に答える