新的DLR tree改變了Visitor的設計

2021-08-29 17:10:04 字數 411 閱讀 4707

[url=之前的一帖[/url]提到過訪問dlr tree所使用的visitor的實現方式,與linq相同,都是由乙個總的visit()方法通過每個ast節點上的nodetype屬性來判斷節點型別並分發到具體的visit***()方法上。

這種設計與常見的visitor模式並不相同——常見的方式是為需要被訪問的類層次中每個類設計一對accept()/visit()方法,以此實現double-dispatch的visitor。在最近更新的ironpython/ironruby原始碼中,可以看到expressiontreevisitor已經確認會作為公開api提供。相應的,visitor也從基於nodetype的大switch的設計改回到普通的visitor模式的設計。

根據觀察,這些改變將不會進入ironpython 2.0,而會進入更後面的ironpython 2.1中。

IOS改變了你我的生活

ios改變了你我的生活。為什麼有些人更喜歡 因為美圖秀秀2.0每個人在內心深處都是 自戀 的。自戀 讓人類發明了鏡子,自戀 讓姑娘們迷上了 為了迎合人類的 自戀 如今的拍照應用中大多為 設定了諸多特效 增白 祛斑,有些甚至是自帶ps,一鍵把普通小妹拍成國色天香。為了讓鏡中的自己更完美,除了之前具有的...

誰改變了中國遊戲的命運?

今年 十一 周期間,許多遊戲業內人士和鐵桿玩家的目光都聚集在上海新國際展覽中心,因為第二屆中國國際數碼娛樂產品及技術應用展覽會 chinajoy 在此召開。從10月4日展會開幕,至10月7日圓滿結束,來自世界各地的130多家廠商各顯神通,打響了一場沒有硝煙的產品實力展示之戰 詳細內容見 消費電子世界...

老師的話改變了乙個生命的軌跡

開學的第一天,湯普森夫人站在五年級的學生們面前,說了個謊。她看著她的學生們,說她會平等地愛班裡的每一位同學。但這是不可能的,那是因為坐在前排的乙個小男孩,他叫泰迪斯托達德。湯普森夫人發現,泰迪根本無法與其他孩子們玩到一起去。他的衣服很邋遢,身上也不整潔,而且不怎麼受大家歡迎。湯普森夫人很喜歡在他的卷...