作者:我爱你可你不懂_516 | 来源:互联网 | 2023-02-03 14:06
我偶然发现了这个代码高尔夫问题:
给定一个字符串s
和一个n
表示索引的整数s
,输出第 - 个位置s
的字符n
被删除.
得票最高的答案(截至本文)是在C#中.
s=>n=>s.Remove(n,1);
这种多重=>
语法是什么?它看起来类似于lambda表达式(s,n)=>s.Remove(n,1)
,但我无法弄清楚如何使用此代码.
1> James Monger..:
当它分散一点时它很简单!
s =>
n =>
s.Remove(n, 1);
让我们调用我们的函数fn
:fn
用变量调用s
返回另一个带变量的函数n
.
fn("hello")(0)
你可以看到,在打电话之后fn("hello")
,我们实际上得到了这个:
n => "hello".Remove(n, 1);
所以当我们调用返回的函数时,我们通过赋予它来执行它n
.
在更标准的`(s,n)=> s.Remove(n,1);`上保存2个字节
Lambda表达式不能分配给`var`.