attr_accessor
のすべての例私は変数としてシンボル(:var
)を使用しています。attr_accessorはRubyでシンボルを変数として使用する必要がありますか?
attr_accessor
を使用する必要がありますか?その場合、なぜですか?そうでない場合、それはなぜそんなに一般的な行為ですか?
attr_accessor
のすべての例私は変数としてシンボル(:var
)を使用しています。attr_accessorはRubyでシンボルを変数として使用する必要がありますか?
attr_accessor
を使用する必要がありますか?その場合、なぜですか?そうでない場合、それはなぜそんなに一般的な行為ですか?
attr_accessor(シンボル、...)→nilの
attr_accessor(文字列、...)→nilを(新規のRuby 2.1で導入された)
このモジュールの名前付き属性を定義します。名前はsymbol.id2nameで、インスタンス変数(@name)とこれに対応するアクセスメソッドを作成して読み取ります。また、name =と呼ばれるメソッドを作成して属性を設定します。 文字列の引数はシンボルに変換されます。
これは、attr_accessorを使用しての必要ですか?
いいえ、シンボルや文字列は許可されています。
この情報を読む - Understanding Ruby symbol as method call
一方ルビーの現在のバージョン(2.1)permits passing a string(@ArupRakshitにより述べたように)、ルビーdid not(2.0およびそれ以前)の古いバージョン。そのため、Ruby 2.1に依存していないコード(ほとんどすべてのコード)はシンボルを渡す必要があります。
これとは別に、アトミックでありオーバーヘッドが少なく、文字列よりも属性定義に沿って意味的に多くのシンボルを渡す必要がある場合がほとんどです。
文字列を許可するこの定義は、かなり新しいです... – PinnyM
@PinnyMはい..私は知っている..だから私はリンクされている.. –