Orc*_*ris 0 ruby ruby-on-rails colon
可能重复:
了解Ruby中的符号Ruby
中的冒号运算符是什么?
这是我正在阅读的Rails教程给出的一些代码.
class Post < ActiveRecord::Base
attr_accessible :content, :name, :title
validates :name, :presence => true
validates :title, :presence => true,
:length => { :minimum => 5 }
end
Run Code Online (Sandbox Code Playgroud)
什么:content,:name和:title是什么意思?我依旧记得这些来自我正在阅读的红宝石教程(hlrb),但是当我浏览它时我找不到它们.这些单词以冒号为前缀是什么意思?
你所指的词叫做符号.
你问的符号是什么?它们或多或少像字符串一样,除了它们是不可变的(不能改变)并且是单例(只在内存中创建一次,无论你使用它们多少次).
这意味着它们在任何地方都被用作键,因为它们的内存效率更高.
因此,如果您有两个哈希值,并且有一个名为key的键,则使用字符串作为哈希键:
my_hash['key'] #in memory once
your_hash['key'] # in memory twice
Run Code Online (Sandbox Code Playgroud)
如果您使用符号
my_hash[:key] # in memory once
your_hash[:key] # still in memory once!
Run Code Online (Sandbox Code Playgroud)
您可能还会遇到以下形式的符号:
key: 'value'
Run Code Online (Sandbox Code Playgroud)
这是一样的
:key => 'value'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |