1

では、Ruby でこれを行う理由は次のとおりです。

attr_accessor :price

それ以外の:

attr_accessor 'price'

シンボルは文字列に似ていると読みましたが、それらは不変です。しかし、attr_accessor、attr_reader を実行するときに、なぜそれを使用するのかわかりません。つまり、利点は何ですか?

4

3 に答える 3

3

それは正しいことです。Symbol特に「名前」または「ラベル」の概念を表すことを目的としたデータ型です。ここでは、生成するメソッドのペアの名前を渡すために使用しています。Symbolこの場合、正しいデータ型です。これらのメソッドはString、便宜上の理由から s も使用します。

于 2013-11-14T19:05:23.167 に答える
1

文字列とは異なり、シンボルはインターンされるため、大量の (潜在的に) 重複する文字列オブジェクトを作成することを回避できます。複数の場所で同じ:fooシンボルを使用しても、一定の速度でより多くのメモリを消費することはありません。'foo'

于 2013-11-14T18:00:40.087 に答える
0

好み。シンボルを入力する手間が少なくて済み、一部の IDE ではきれいな色でシンボルが強調表示されます。

于 2013-11-14T17:44:40.253 に答える