我正在 Rake 中编写一个使用几个 3rd 方 gem 的构建脚本。其中一个 gem 定义了一个名为Hash
.
class Hash
alias hkeys keys
def keys
hkeys.sort {|a,b| a.to_s <=> b.to_s }
end
def each
keys.each { |k| yield k, self[k] }
end
end
这是破坏枚举,导致no block given (yield) (LocalJumpError)
. 我读到我可以用它::Hash
来引用核心 ruby 类型,但这如何与类似的代码相匹配
bucket.objects.each do |obj|
puts "#{obj.key} => #{obj.etag}"
end