gpt4 book ai didi

ruby - 实例初始化采用哈希

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:49 25 4
gpt4 key购买 nike

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

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)

这很难实现吗?

最佳答案

使用 ruby​​ 关键字参数,在 Ruby 2.0 及更高版本中可用

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

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

关于ruby - 实例初始化采用哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34100805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com