-1

配列の要素(またはハッシュを信じている)をまとめる結合方法(たとえば、array.join( "")またはarray.join( "_"))について知っています。ただし、私が取り組んできた問題の解決策の例に出くわしました。次のようになります。

def find(hash_key)
    @options.select { |key,value| key.scan(hash_key).join == hash_key }
end

.join == hash_key の部分まで完全に理解しています。

誰か説明してくれませんか :D

4

2 に答える 2

4
@options.select {

これにより、アイテムが選択され@optionsます...

key.scan(hash_key).join == hash_key

どこkey.scan(hash_key).joinに等しいhash_keyです。

これは、次のように、より明確に記述することもできます。

@options.select { |key,value| key.scan(hash_key).join() == hash_key }

(join引数が指定されていない場合は、""(空の文字列) と見なされます。

于 2013-09-19T20:47:07.287 に答える