那里。我制作了关于细化与开放类的示例代码。我试着打电话给module RefineString
refine String.singleton_class do
def length(str)
str.length
end
end
end
def String.length(*)
fail "'String.length' is bad"
end
using RefineString
puts String.length("hello, world") # displays 12
。此脚本在屏幕上输出字符串长度。
为什么精炼会赢得公开课?
module RefineString
refine String.singleton_class do
def length(str)
str.length
end
end
end
using RefineString # change sequence
def String.length(*)
fail "'String.length' is bad"
end
puts String.length("hello, world")
即使我改变顺序,结果也一样。
frame .workArea
pack .workArea