爲什麼與null比較是如此不穩定?IronRuby System.DateTime NilClass
只是代碼。
IronRuby 0.9.4.0 on .NET 2.0.50727.4927
Copyright (c) Microsoft Corporation. All rights reserved.
>>> require 'System'
=> true
>>> i = System::Int32.MinValue
=> -2147483648
>>> i==nil
=> false
>>> d = System::DateTime.Now
=> 11.02.2010 14:15:02
>>> d==nil
(ir):1: can't convert NilClass into System::DateTime (TypeError)
>>>
在9.1中,此代碼按預期工作。
編輯:
解決方法:
>>> i.nil?
=> false
>>> d.nil?
=> false
>>> nil
=> nil
>>> nil.nil?
=> true
>>>
這是一種解決方法。這是你如何定期檢查Ruby中的否定。 – 2010-02-11 13:10:41
@Shay Friedman WTF沒有在檢查,它在_inconsistency_ – 2010-02-11 14:11:09
+1爲「WTF」的問題。 – mxmissile 2010-02-11 18:07:31