Ruby中的冒号

作者: ahtest | 来源:发表于2016-06-22 09:56 被阅读270次

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

    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

    相关文章

      网友评论

        本文标题:Ruby中的冒号

        本文链接:https://www.haomeiwen.com/subject/ofagdttx.html