2011-07-19 8 views

答えて

7

通常のRubyハッシュは、:product"product"のキーを区別します。 ActiveSupport::HashWithIndifferentAccessのインスタンスは、それらの両方を同じキーとみなします。

ハッシュで#with_indifferent_accessを呼び出して変換することはできますが、変換する際にキーと値のペアが失われる可能性があることに注意してください。

0

いいえ、違いはありません。私は、彼はおそらく、ハッシュに(とはいえ、誤って非明示的に)言及していたと思います

"product" = "abc" 
# SyntaxError: syntax error, unexpected '=', expecting $end 
# "product" = "abc" 
#   ^

:product = "abc" 
# SyntaxError: syntax error, unexpected '=', expecting $end 
# :product = "abc" 
#   ^
+1

:product"product"どちらも法的な変数名であるため、これらの両方は、単にSyntaxError秒です。 – coreyward

+1

は、より明確にするために質問を編集しました... – DGM

+0

@coreyward:質問に「ハッシュ」の言及はありません。どのコードサンプルにも「ハッシュ」はありません。 *明示的に*の質問はパーサについて、つまり構文について質問します。 *編集された*(しかし、OPからの入力なしで編集された)質問は、インデックス付けの割り当てについて尋ねるようになりましたが、元のバージョンでは全く何の表示もありませんでした。 –

関連する問題