当前位置:  开发笔记 > 后端 > 正文

采用哈希的实例初始化

如何解决《采用哈希的实例初始化》经验,为你挑选了1个好方法。

大多数在线资料都有这样的初始化:

class MyClass
  attr_accessors :a, :b, :c
  def initialize(a,b,c)
    @a = a
    @b = b
    @c = c
  end
end

有或没有默认值.创建一个新实例是:

n = MyClass.new(1,2,3)
n.a # => 1
n.b # => 2
n.c # => 3

我想知道如何使用哈希语法初始化实例,如:

n = MyClass.new(:a => 1, :b => 2, :c => 3)

这相当于:

n = MyClass.new(:b => 2, :a => 1, :c => 3)

这难以实施吗?



1> Austio..:

使用Ruby 2.0及更高版本中提供的ruby关键字参数

初始化参数中的格式是 variable:

class MyClass
    attr_accessors :a, :b, :c
    def initialize(a:, b:, c: )
      @a = a
      @b = b
      @c = c
    end
  end

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有