2
是參數的I型具有這樣的代碼:爲什麼對象不能爲PROC對象
p = ->(x : Object) { x }
puts p.call(3)
,當我編譯它我收到這樣的例外:
不能被用作一個Proc參數類型,但使用更具體的類型
有人可以解釋我爲什麼這是,爲什麼Proc無法通過對象參數化?
是參數的I型具有這樣的代碼:爲什麼對象不能爲PROC對象
p = ->(x : Object) { x }
puts p.call(3)
,當我編譯它我收到這樣的例外:
不能被用作一個Proc參數類型,但使用更具體的類型
有人可以解釋我爲什麼這是,爲什麼Proc無法通過對象參數化?
它說「還沒有」。這將可能在未來支持;-)
主要原因是,Object
意味着任何東西,包括價值傳遞的對象,具有不同的大小。這意味着編譯器必須爲任何類型分配足夠的空間,或者更易於使用的自動box和unbox值類型。這種最新的方法可能會在未來版本的編譯器中實現。