0

重複の可能性: Ruby の
シンボルを理解する
Ruby のコロン演算子とは?

これは、私が読んでいる Rails チュートリアルで提供されるコードです。

class Post < ActiveRecord::Base
  attr_accessible :content, :name, :title

  validates :name,  :presence => true
  validates :title, :presence => true,
                    :length => { :minimum => 5 }
end

:content、:name、:title の意味は何ですか? これらは、読んでいたルビーのチュートリアル ( hlrb )​​ から漠然と覚えていますが、ざっと目を通しても見つかりません。コロンが前に付いているこれらの単語はどういう意味ですか?

4

1 に答える 1

9

あなたが言及している言葉はシンボルと呼ばれます。

あなたが尋ねる記号は何ですか?これらは文字列に似ていますが、不変 (変更できない) であり、シングルトン (何度使用してもメモリ内で一度しか作成されない) であることを除きます。

つまり、メモリ効率が高いため、どこでもキーとして使用されます。

たとえば、2 つのハッシュがあり、key という名前のキーがある場合、ハッシュ キーに文字列を使用します。

my_hash['key'] #in memory once
your_hash['key'] # in memory twice

記号を使う場合

my_hash[:key] # in memory once
your_hash[:key] # still in memory once!

次の形式の記号も表示される場合があります。

key: 'value'

これは

:key => 'value'
于 2012-06-22T19:49:09.553 に答える