gpt4 book ai didi

ruby - 为什么我的 ruby​​ 代码中有单例 Puppet Arrays 字符串?

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

我在 Puppet 中创建了一个自定义类型(针对此示例进行了简化)。如果我这样使用它(collections 中的两个项目)...

 my_type { "example1":
ensure => present,
collections => ["abc", "def"]
}

...在我的提供者中,resource[:collections]Array 类型。这很好,而且是对的。

但是如果 collections 只包含 1 项...

 my_type { "example2":
ensure => present,
collections => ["abc"],
}

...resource[:collections] 是一个 String,这是最令人不安的,而且处理起来很痛苦。

这是 Ruby 的东西,Puppet 的东西(我对两者都是新手)还是我偶然发现的编码世界中的一些宇宙皱纹?更重要的是,是否有解决方法?还是我只是简单地做错了?我以前被告知过。不要退缩。

最佳答案

虽然我无法告诉您为什么会发生这种情况,但处理数组或单个对象的标准解决方法是使用 splat 运算符,如下所示:[*foo]。如果 foo 是一个数组,它的元素将被“分解”成一个新的元素,所以你仍然有一个数组。如果 foo 只是一个普通对象,那么您现在就有了一个单元素数组。

关于ruby - 为什么我的 ruby​​ 代码中有单例 Puppet Arrays 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116993/

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