Ruby on RailsRubyRuby & Rails

Ruby中的冒号

2016-06-22  本文已影响270人  ahtest

常见的冒号位置,它们之前有什么区别?

1) abc:

2) :xyz

3) abc::xyz

4) abc: :xyz

5) abc: xyz

6) :abc => xyz

1) abc: 不能单独使用

2) :xyz symbol变量,与string类型用法相同,但比string节省存储空间

:xyz.class => Symbol

3) abc::xyz 代表命名空间,可有用在module和class上

Example code:

module ABC

  class Xyz

    def initialize

      @size = 400

    end

   end

end

x = ABC::Xyz.new

4) abc: :xyz #hash中的key和value都是symbol时,可以这么写,等同于 hash={:abc=>:xyz}.

hash = {abc: :xyz} 

5) abc: xyz #hash中key是symbol, value是字符串 等同于hash={:abc=>xyz}

xyz = "just a test"

hash = {abc: xyz} 

6) :abc => xyz # 同上

xyz = "just a test"

hash = {:abc => xyz} 

7) 补充一个三元运算符:

abc = 1

xyz = 2

result = abc > xyz ? abc : xyz

=> result = 2

上一篇 下一篇

猜你喜欢

热点阅读