我有一个匿名哈希数组,用于定义要作为输出打印的配置。每个匿名哈希都有一个标签和一个字段作为键及其对应的值。
在Perl中,我会做类似下面的事情:
foreach my $config ( @configurations )
{
foreach my $element ( keys %{$configuration} )
{
print $element . " - " . $config->{$element} . "\n";
}
}
观察使用上面代表键的变量$element
(即标签和字段)。
我想在ruby中做同样的事情,但是当我尝试对Ruby对象使用它时,我发现#{variable-name}
不起作用。
如何使用变量作为方法调用Ruby对象?
答案 0 :(得分:4)
我相信你的意思是:
my_hash.each do |key, value|
puts "#{key} - #{value}"
end
在ruby中,这被称为block
。它调用内部函数并传递一些变量以在其作用域内使用。
就像文档说的那样:
为hsh中的每个键调用一次,将键值对作为参数传递。 http://ruby-doc.org/core-1.9.3/Hash.html#method-i-each