gpt4 book ai didi

ruby - 为什么 begin/rescue/else 在 1.9.2 和 1.8.7 上表现不同

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

我正在使用 mm 方法。在 ruby​​ 1.9.2 中它表现得很奇怪,而不是我得到的预期结果 1.9.2=>10

ELSE **
1.9.2=>8

知道发生了什么吗?

class A

def mm(data)
begin
send_len = data
return send_len
rescue Exception
STDOUT.write("Rescue *#{$!}*\n")
else
STDOUT.write("ELSE *#{$!}*\n")
end
end

end # class A

a = A.new
print "#{RUBY_VERSION}=>#{a.mm(10)}\n"

在 1.8.7 中我得到了预期的结果:

1.8.7=>10

最佳答案

这是一个 open bug in Ruby .不过,有一个讨论是它应该像在 1.8 中那样表现还是像在 1.9 中那样表现。

Matz,Ruby 的作者,believes that it should behave as in 1.8 .

关于ruby - 为什么 begin/rescue/else 在 1.9.2 和 1.8.7 上表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466968/

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