gpt4 book ai didi

ruby - 创建变量时使用 Ruby 的 `or` 关键字

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

我最近遇到了以下 Ruby 代码,这让我很困惑:

def initialize(kind, street_1, street_2, city, state, postal_code)
@kind = kind or ''
@street_1 = street_1 or ''
@street_2 = street_2 or ''
@city = city or ''
@state = state or ''
@postal_code = postal_code or ''
end

我不明白在这段代码中扮演什么角色。有人可以解释一下吗?

最佳答案

编辑:需要注意的是,关键字在这种情况下不起作用,但意图是正确的——使用||在此示例中代替 将产生所需的输出。

此代码中的 or 关键字意味着如果分配给局部变量的参数(即分别为 kind@kind)是nil,那么局部变量的值应该初始化为''

另一种看待这个问题的方式 - 如果我调用 Class.new("something", "1800 Wallaby Way", nil, nil, nil, nil),那么类将被初始化为这样的:

@kind = "something"
@street_1 = "1800 Wallaby Way"
@street_2 = ''
@city = '
@state = ''
@postal_code = ''

关于ruby - 创建变量时使用 Ruby 的 `or` 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40251926/

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