如何在F#中执行多行Lambda表达式?

编程入门 行业动态 更新时间:2024-10-23 09:40:14
本文介绍了如何在F#中执行多行Lambda表达式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我该如何在F#中执行此操作(C#)

How would I do this (C#) in F#

public class MyClass { void Render(TextWriter textWriter) { Tag(() => { textWriter.WriteLine("line 1"); textWriter.WriteLine("line 2"); }); Tag(value => { textWriter.WriteLine("line 1"); textWriter.WriteLine(value); }, "a"); } public void Tag(Action action) { action(); } public void Tag<T>(Action<T> action, T t) { action(t); } }

推荐答案

F#中的多行lambda就是

A multi-line lambda in F# is just

(fun args -> lots of code here )

整个代码就像

open System.IO type MyClass() as this = let Render(tw : TextWriter) = this.Tag(fun() -> tw.WriteLine("line1") tw.WriteLine("line2") ) this.Tag(fun(value : string) -> tw.WriteLine("line1") tw.WriteLine(value) , "a" ) member this.Tag(action) = action() member this.Tag(action, x) = action(x)

假设我没有任何转录错误. (我在公共接口中使用了F#函数类型,而不是Action委托.)

assuming I made no transcription errors. (I used F# function types rather than Action delegates in the public interface.)

更多推荐

如何在F#中执行多行Lambda表达式?

本文发布于:2023-11-17 03:11:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1608604.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表达式   如何在   Lambda

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!