前提・実現したいこと
こちらのサイトを参考にハッシュに関して勉強しているのですが、
ものすごくざっくりいうと、Keyを " " や ' ' で囲むのがString、接頭辞 : がつくのがSymbolです。
いろいろコードを試してみたところ、これは間違っているのではないかと思いました。
Keyを " " や ' ' で囲っても、シンボルになる場合があると思うのですが、いかがでしょうか?
試したこと
ruby
1 hash1 = {"test"=>"1"} 2 puts hash1["test"] 3 4 hash2 = {:test=>"2"} 5 puts hash2[:test] 6 7 hash3 = {test:"3"} 8 puts hash3[:test] 9 10 hash4 = {"test":"4"} 11 puts hash4[:test]
出力結果。
1 2 3 4
質問
・質問1。
試したことのように、hash4は、Keyを " " や ' ' で囲っていますが、StringではなくSymbolですよね?
・質問2。
「=>」ではなく、「:」の書き方で、KeyをStringで表記する方法はありますか?
・質問3。
この他のハッシュの書式があれば教えていただきたいです。
例えば、下記2つのハッシュの書式はエラーになりました。
ruby
1 hash5 = {:"test":"5"} 2 puts hash5[:test] 3 4 hash6 = {:test:"6"} 5 puts hash6[:test]
補足情報(FW/ツールのバージョンなど)
ruby 2.4.5p335
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/16 10:11 編集