更新:感謝@ rickhg12s指出,看來我可能偶然發現了一個錯誤。 method_exists(<, (MyType, MyType))
正在返回true
而method_exists(isless, (MyType, MyType))
正在返回false
。我在v0.3.x上,但@ rickhg12s在v0.4的每晚構建中,所以我會提出一個問題。如何檢查特定類型的方法是否存在?
如何檢查特定類型的方法是否存在?
我想我可以做到這一點使用,例如:
method_exists(<, (Int, Int))
將返回true
因爲不是比較兩個整數定義的少。然而,當我定義自己的類型:
type MyType; end
,然後嘗試:
method_exists(<, (MyType, MyType))
返回true
。但我認爲,這將返回false
,因爲:
a = MyType()
a < a
拋出,因爲<
不是爲MyType
定義的錯誤。那麼如何在運行時檢測給定類型的方法是否存在?
有趣的是,'a rickhg12hs
@ rickhg12s非常有趣,非常感謝。所以也許我偶然發現了一個bug。你在v0.4嗎?我在v0.3.x上,所以我不想提出問題,除非我能確認這在v0.4上仍然存在問題。 –
是的,我在Github主分支的頭上。 – rickhg12hs