49789


始めて投稿させていただきます。至らぬところはあるかもしれませんが、どうかお手やわらかにお願い致します。

さて、本題ですが、ひょんな事からRubyのハッシュテーブルで、Twitterユーザを番号で管理する必要に迫られまして、ユーザーの追加と、番号を指定して関連付けられたユーザー名を呼び出すプログラムを作る必要が出てきました。以下がその途中スケッチです。

[code]

    #!/usr/bin/ruby
    number = ARGV[0],user_name = ARGV[1]
    
    h = {}
    
    h.store(number, user_name)
    
[/code]

このコードは ./usersnumber.rb 00-00 古池
と言う形で実行し、空のハッシュテールにナンバーとユーザー名が追加されることを期待していましたが、スクリプトを確認したところテーブルに変更はなされていませんでした。伺いたい事をリストアップすると

  * ハッシュテーブルhへ破壊的にナンバーとユーザ名を追加したい
  * この書き方より賢い書き方はあるのか？

この2つです。不慣れですが、どうかよろしくお願いします。


CC BY-SA 4.0
2018-10-30T06:22:29.247
49782
2018-10-30T07:40:45.317
30493
question
ruby
Rubyのstoreに関する疑問、ハッシュテーブルに値が追加されない


(コメントできないので解答欄で)

質問された書き方だと number は `["00-00", "古池"]` となり、user_name は `"古池"` で、h は `{["00-00",
"古池"]=>"古池"}` となります。

修正するなら `,` を `;` に変更して以下のようにすればよいかと。なお number は整数に変換してません。

[code]

    number = ARGV[0];user_name = ARGV[1]
    
[/code]

これで number は `"00-00"` となり、user_name は `"古池"` となり、h は `{"00-00"=>"古池"}` となります。


CC BY-SA 4.0
2018-10-30T07:40:45.317
49789
2018-10-30T07:40:45.317
9592
49782
answer