私の目標は、クラス値としてデフォルト値を持つハッシュを使用することです。これを行うには、あらかじめ定義された値とデフォルト値を持つ定数として、1行にハッシュを初期化する必要があるようです。ハッシュを定数として、Rubyのデフォルト値で1行で宣言する
Rubyのドキュメントによれば、私は2つの方法でデフォルト値を設定することができる:
コンストラクタは次に以下のように値を追加することによって:
MY_HASH = Hash.new(-1) MY_HASH[1] = 0 MY_HASH[2] = 42
値を加算することにより最初にデフォルト値を後で設定する:
MY_HASH = { 1=>0, 2=>42, } MY_HASH.default = -1
私はこのような1行でそれを実行しようとしましたが、それは動作しません:
MY_HASH = {
1=>0,
2=>42,
}.default = -1
#It's the same as :
MY_HASH = -1
は、1行のデフォルト値でハッシュを宣言するための方法はありますか?
:-)、私はに異論はありませんあなたが選択した答え。私は同じ選択をしていただろう(そして、それが利用可能であったならばその答えを与えただろう)。しかし、あなたは質問を投稿してから20分も経たないうちにそれを選択しました。私は将来、あなたが他の答えを止めたり、答えに取り組んでいる他の人を短絡させたりしないように、しばらくの間、選択を止めておくことをお勧めします。ここでは多くの場合、緑の贈り物を与える前に少なくとも2時間待つ。 –