IronPython的第三塊鱗片 補充

2021-08-21 23:00:37 字數 657 閱讀 5681

在9月份的mail list中還有乙個message也是很有價值的。在interactive的方式下,鍵入如下兩行**:

from system.console import 

*>>>

writeline(

"hello,world!")

螢幕上並不會出現我們所期待的hello,world! 倒是出現了乙個true。如果將第二行改為writeline("","hello,world!"),我們就能夠看到我們期待的hello,world!了,這是怎麼回事呢?

因為ironpython在呼叫clr中方法的時候,都是使用了反射的機制。當乙個方法被過載(overload)了,也就是說有多個同名函式對應型別不同或者個數不同引數的時候,這些函式都會存放在乙個list中。ironpython並沒有去搜尋最適合的方法,只是簡單地檢查了引數的個數是否匹配,那麼結果就可想而知了:引數個數為1的writeline函式有很多,而writeline(bool)在整個list中排在了最前面,而且在python的語法當中,string型別是可以隱式轉換為bool型別的,因此writeline(bool)就被呼叫了。而對應引數個數為2的writeline方法就只有乙個writeline(string,object),那麼在interactive方式下writeline("","hello,world!")是可以被正確呼叫的。

IronPython的第一塊鱗片(補充)

昨天,帶著堅定的決心開始去摸索ironpython身上的每一塊鱗片了,而在前一篇post當中有乙個最經典的例子 出現了exception,以致於無法繼續下去。事實上,這樣的操作在python上面是一切ok的,另外一方面,如果你 將那幾行簡單的 寫入乙個.py檔案 譬如說hello.py 並且通過ir...

HTML CSS 第三章 塊元素 內聯元素及列表

html初學者,若有錯誤請指正諒解 第二章 鏈結到其他web頁面 短句引用 內聯元素總在頁面文字行內出現 長句引用 塊元素前後各有乙個換行 1.短評 人生就像是一盒巧克力,你永遠不知道會選擇哪一顆。他的十二支船,每一支都是她的名字。她走後,他只得跑遍世界的每乙個湖泊和沙漠來思念她,只等她一聲召喚便死...

第三天的感想

或許說終於等到了今天,而恰巧我沒有放棄。來到這裡第三天了,我感覺每一天都如履薄冰,因為在真正地接觸到開發工作的時候才發現自己的之前的知識是遠遠不夠的。所以我的進度很慢,但是同事和專案經理都很nice沒有想象中的那麼社會,比起某某警官學院,我感覺公司給我的感覺要好太多了。前者是黑色的壓抑,後者是紅色的...