ruby中data:and:data的区别是什么

ruby中data:and:data的区别是什么,ruby,hash,symbols,Ruby,Hash,Symbols,我正在使用RubyonRails,在开始使用rails之前,我学习了一些ruby,我知道:符号在整个应用程序中都是独一无二的 但是在学习rails时,我在使用rails模型时遇到了一个有线符号符号:,因为我已经将rails模型创建为 def up create_table :users do |t| t.string "email", :limit =>50, :null =>false t.column "password", :string

我正在使用RubyonRails,在开始使用rails之前,我学习了一些ruby,我知道:符号在整个应用程序中都是独一无二的

但是在学习rails时,我在使用rails模型时遇到了一个有线符号
符号:
,因为我已经将rails模型创建为

def up
    create_table :users do |t|
        t.string "email", :limit =>50, :null =>false
        t.column "password", :string, :limit =>30, :null => false
        #data types,binary, boolean, data, decima, float, integer,  text, time
        #these are the differentdata types
        #we can also have options
        #:default
        #:precision for decimal
        t.timestamps null: false
    end
  end

我对上面代码中定义的
:null
null:
感到非常困惑,我知道
:null
是符号,而
null:
是什么?

它们都是在Ruby中定义散列中的键值对的语法

# Older Hash syntax; before Ruby 1.9 e.g. { :key => value }
    :limit => 50
    :null => false 
以及:

在这两种情况下,
null
都是一个符号


参见这篇关于

的短文,它们都是在Ruby中定义散列中的键值对的语法

# Older Hash syntax; before Ruby 1.9 e.g. { :key => value }
    :limit => 50
    :null => false 
以及:

在这两种情况下,
null
都是一个符号


参见这篇关于

symbol:true
的短文,它与
:symbol=>true
完全相同<代码>符号:只是ruby 1.9及更高版本中的一种新语法


在ruby 1.8.7及更低版本中,仅支持
:symbol=>true
。在ruby 1.9+中,这两个都受支持。

symbol:true
:symbol=>true
完全相同<代码>符号:只是ruby 1.9及更高版本中的一种新语法

在ruby 1.8.7及更低版本中,仅支持
:symbol=>true
。而在ruby 1.9+中,这两个都受支持