どうすれば簡単に変換できますか
a = [ "b", "c", "d" ]
に
a = [ :b, :c, :d ]
およびその逆?
私が通過したドキュメントが、解決策を見つけることができませんでした
配列を反復処理して、更新された値を持つ新しい配列を返すには、を使用しますArray#map
。それはあなたが知る必要がある重要な方法です。
「文字列を値に変換する」とはどういう意味かわかりませんが:b
、rubyのようなオブジェクトはと呼ばれSymbols
ます。
を呼び出すString
ことSymbol
により、をに変換できto_sym
ます。(およびその逆は、を呼び出すことによってto_s
。)
したがって、これをすべてまとめると、次のようにして配列を変換できます。
a = [ "b", "c", "d" ]
a.map { |letter| letter.to_sym }
# => [:b, :c, :d]
# Or equivalently, there's a shorthand for this:
a.map(&:to_sym)
新しい配列を返すのではなく、元の配列を更新する場合は、次の代わりにを使用します。Array.map!
Array.map
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加