簡體   English   中英

F#在運行時創建函數

[英]F# Create function at runtime

我知道這與這個SO問題這個 問題有關,但是我想知道是否(以及如何)可以在運行時創建新的F#函數。

我的意思是類似使用REPL而不顯示它。 除了CodeDOM和反射或引用之外,還有其他選擇嗎?

如果在F#中無法實現,是否可以在任何其他.Net語言中實現?

當然可以,這就是DLR(動態語言運行時)的用途。 IronPython,IronRuby和其他完全符合您描述的動態語言都使用它。 DLR只是一個庫,因此您可以根據需要在F#中使用它。

另一個選擇是使用F#的高階函數來實現類似的功能-這將非常靈活,但最終會稍慢一些,因為.NET CLR無法以優化的方式做很多事情(如果有的話)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM