Ruby 傀儡stdlib';“成员”;功能不工作

Ruby 傀儡stdlib';“成员”;功能不工作,ruby,puppet,Ruby,Puppet,尝试使用puppet stdlib模块的成员函数: 实际上: $myvariable = 'FOO' 然后在使用成员函数时: member(['FOO','BAR'], $myvariable) 我一直收到错误消息: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Function 'member' must be the value of a statement at /etc/puppe

尝试使用puppet stdlib模块的成员函数:

实际上:

$myvariable = 'FOO'
然后在使用成员函数时:

member(['FOO','BAR'], $myvariable)
我一直收到错误消息:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Function 'member' must be the value of a statement at /etc/puppet/modules/mymodule/manifests/init.pp:###  

查看member的stdlib文档,我们发现member是一个右值。这意味着在此上下文中,您需要分配其输出。这就是
的错误消息必须是语句的值所暗示的内容。请注意维基百科上一篇关于l值和r值的有用文章

例如,如果将
成员(['FOO','BAR'],$myvariable)
的输出分配给变量或资源属性,则代码将起作用

例如:

$myvariable = 'FOO'
$variable = member(['FOO','BAR'], $myvariable)
notify { $variable: }

在编译过程中将导致notify“true”。

@MattSchuchard在他的回答中解释了错误消息,但我忍不住认为该错误一定是另一个问题的症状。毕竟,调用
member()
函数并忽略结果有什么意义?这类事情是我们倾向于要求a的原因之一。谢谢,这真的很有帮助!