では、Ruby でこれを行う理由は次のとおりです。
attr_accessor :price
それ以外の:
attr_accessor 'price'
シンボルは文字列に似ていると読みましたが、それらは不変です。しかし、attr_accessor、attr_reader を実行するときに、なぜそれを使用するのかわかりません。つまり、利点は何ですか?
では、Ruby でこれを行う理由は次のとおりです。
attr_accessor :price
それ以外の:
attr_accessor 'price'
シンボルは文字列に似ていると読みましたが、それらは不変です。しかし、attr_accessor、attr_reader を実行するときに、なぜそれを使用するのかわかりません。つまり、利点は何ですか?
それは正しいことです。Symbol
特に「名前」または「ラベル」の概念を表すことを目的としたデータ型です。ここでは、生成するメソッドのペアの名前を渡すために使用しています。Symbol
この場合、正しいデータ型です。これらのメソッドはString
、便宜上の理由から s も使用します。
文字列とは異なり、シンボルはインターンされるため、大量の (潜在的に) 重複する文字列オブジェクトを作成することを回避できます。複数の場所で同じ:foo
シンボルを使用しても、一定の速度でより多くのメモリを消費することはありません。'foo'
好み。シンボルを入力する手間が少なくて済み、一部の IDE ではきれいな色でシンボルが強調表示されます。