gpt4 book ai didi

ruby - 猴子在模块内部修补以限制其范围

转载 作者:数据小太阳 更新时间:2023-10-29 08:47:36 24 4
gpt4 key购买 nike

当类和语句封装在模块中时,为什么会抛出错误??

module Xchange

class Float

def in currency
self.to_s << " " << suffix(currency)
end

private

def suffix currency
case currency
when :euro
"euros"
when :dollar
"dollars"
when :rupee
"rupees"
end
end

end

puts 2.3.in(:euro)
end

最佳答案

如果您使用的是当前版本的 Ruby,我建议您放弃 monkeypatching 并开始使用 Refinements (http://www.ruby-doc.org/core-2.1.1/doc/syntax/refinements_rdoc.html)。通过这种方式,您可以更方便地以 Ruby 原生方式为某些模块引入“monkeypatches”。

关于ruby - 猴子在模块内部修补以限制其范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com