3
我正在查看SeqModule中Append函數的源代碼,並注意到有一大堆重複的方法,後面跟@xxx後綴。有誰知道爲什麼這些在這裏?F#核心方法中的後綴數字是什麼?
我正在查看SeqModule中Append函數的源代碼,並注意到有一大堆重複的方法,後面跟@xxx後綴。有誰知道爲什麼這些在這裏?F#核心方法中的後綴數字是什麼?
總之,這些都是具體的類即備份的各種局部功能值,並且@xxx值表明,導致它們被生成(儘管這是一個實現細節的源代碼行號,和這些類可以被賦予任意的名字)。同樣,C#編譯器在定義類以實現匿名代理,迭代器狀態機等時使用概念上相似的方案(請參閱Eric Lippert的回答here以瞭解C#中的「魔術名稱」如何工作)。
這些方案是必要的,因爲不是每個語言功能都完美地映射到可以在CLR中清晰表達的事物。
非常好,非常感謝。 –