bud*_*udi 1 c# lambda currying
我偶然发现了这个代码高尔夫问题:
给定一个字符串
s和一个n表示索引的整数s,输出第 - 个位置s的字符n被删除.
得票最高的答案(截至本文)是在C#中.
s=>n=>s.Remove(n,1);
Run Code Online (Sandbox Code Playgroud)
这种多重=>语法是什么?它看起来类似于lambda表达式(s,n)=>s.Remove(n,1),但我无法弄清楚如何使用此代码.
当它分散一点时它很简单!
s =>
n =>
s.Remove(n, 1);
Run Code Online (Sandbox Code Playgroud)
让我们调用我们的函数fn:fn用变量调用s返回另一个带变量的函数n.
fn("hello")(0)
Run Code Online (Sandbox Code Playgroud)
你可以看到,在打电话之后fn("hello"),我们实际上得到了这个:
n => "hello".Remove(n, 1);
Run Code Online (Sandbox Code Playgroud)
所以当我们调用返回的函数时,我们通过赋予它来执行它n.
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |