1

出力として出力する構成を定義するために使用する匿名ハッシュの配列があります。各匿名ハッシュには、対応する値とともに、キーとしてラベルとフィールドがあります。

Perl では、以下のようにします。

foreach my $config ( @configurations )
{
    foreach my $element ( keys %{$configuration} )
    {
        print $element . " - " . $config->{$element} . "\n";
    }
}

変数の使用に注意して$elementください。上記はキー (つまり、ラベルとフィールド) を表します。

Rubyでも同じことをしたいのですが#{variable-name}、Rubyオブジェクトに対してそれを使用しようとするとうまくいかないことがわかりました。

Ruby オブジェクトへのメソッド呼び出しとして変数を使用するにはどうすればよいですか?

4

1 に答える 1

4

私はあなたがこれを意味すると信じています:

my_hash.each do |key, value| 
  puts "#{key} - #{value}"
end

Ruby では、これは a と呼ばれblockます。内部関数を呼び出し、そのスコープ内で使用されるいくつかの変数を渡します。ドキュメントが言うように:

キーと値のペアをパラメーターとして渡し、hsh のキーごとにブロックを 1 回呼び出します。 http://ruby-doc.org/core-1.9.3/Hash.html#method-i-each

于 2012-06-26T01:31:33.383 に答える