8 我想检查变量的内容是否为奇数。但是我需要一个整数。 $ip_array = split($ipaddress, '.') $odd_ip = $ip_array[3] % 2 if $odd_ip == 1 { notice("is odd") } 有没有简单的方法可以将字符串转换为整数? puppet — 更多 source
5 你可以这样做: $ n_timeout = 0 + $ timeout — 巴里 source 这会中断以零开头的字符串,例如“ 04” — Gary van der Merwe 对于p 4,这将导致警告:警告:字符串'1'被自动强制为...处的数值1 — Slaven Rezic 木偶文档对此提出了建议,并提供了scanf方法来处理提取与对等强制。 puppet.com/docs/puppet/latest / ... — cgseller
3 我已经开始在stdlib中使用scanf函数。 一个例子: $ ram = scanf(“ $ {:: memorysize_mb}”,“%i”) 这需要木偶> = 3.7.5 — 安德鲁 source 1 请注意,这将返回一个数组,其中第一个元素是所需的值。在人偶4中可以编写诸如scanf(...)[0]之类的东西,在人偶3中似乎需要将其拆分为两个语句:首先分配给数组变量,然后获取第一个元素。 — Slaven Rezic 根据puppet文档puppet.com/docs/puppet/latest/…,这也是可以接受的 。puppetlabs允许上面的@barry和此处的答案。 — cgseller
1 您的代码将完全按照定义运行;Puppet隐式转换字符串和整数,以适合所使用的比较运算符。 — 丹尼尔·皮特曼 source 我收到以下错误:无法在节点mynode.domain.de上的/etc/puppet/modules/my/manifests/target.pp:23处匹配% — MMore 2012年 如果我代替“%”与“*”(测试) - > *的左操作数是不是在节点mynode.domain.de一批在/etc/puppet/modules/my/manifests/target.pp:25 — MMore 1 啊。您在Puppet中发现了一个真正的错误。您应该在projects.puppetlabs.com/projects/puppet/issues/new上提交票证,以便我们进行修复。 — 丹尼尔·皮特曼 2 当值来自hiera时,Puppet不会这样做。您收到“错误400在服务器上:比较Fixnum与字符串失败”错误。 — 罗布
1 人偶4: $odd_ip = Integer($ip_array[3]) % 2 取自https://github.com/puppetlabs/puppetlabs-apt/pull/743/files — 乔丹 source