product = "abc"
とproduct = :abc
の違いはありません。ruby on railsでfoo [:product] = "abc"とfoo ["product"] = "abc"の間に違いはありますか?
それはfoo[:product] = "abc"
とfoo["product"] = "abc"
なので、Ruby on Railsスクリプトパーサーに関する質問があります。 RoRはキャッシュクラス名/ハッシュクラスプロパティ名も持っていますか?
product = "abc"
とproduct = :abc
の違いはありません。ruby on railsでfoo [:product] = "abc"とfoo ["product"] = "abc"の間に違いはありますか?
それはfoo[:product] = "abc"
とfoo["product"] = "abc"
なので、Ruby on Railsスクリプトパーサーに関する質問があります。 RoRはキャッシュクラス名/ハッシュクラスプロパティ名も持っていますか?
通常のRubyハッシュは、:product
と"product"
のキーを区別します。 ActiveSupport::HashWithIndifferentAccess
のインスタンスは、それらの両方を同じキーとみなします。
ハッシュで#with_indifferent_access
を呼び出して変換することはできますが、変換する際にキーと値のペアが失われる可能性があることに注意してください。
いいえ、違いはありません。私は、彼はおそらく、ハッシュに(とはいえ、誤って非明示的に)言及していたと思います
"product" = "abc"
# SyntaxError: syntax error, unexpected '=', expecting $end
# "product" = "abc"
# ^
:product = "abc"
# SyntaxError: syntax error, unexpected '=', expecting $end
# :product = "abc"
# ^
:
:product
も"product"
どちらも法的な変数名であるため、これらの両方は、単にSyntaxError
秒です。 – coreywardは、より明確にするために質問を編集しました... – DGM
@coreyward:質問に「ハッシュ」の言及はありません。どのコードサンプルにも「ハッシュ」はありません。 *明示的に*の質問はパーサについて、つまり構文について質問します。 *編集された*(しかし、OPからの入力なしで編集された)質問は、インデックス付けの割り当てについて尋ねるようになりましたが、元のバージョンでは全く何の表示もありませんでした。 –