我很难理解为什么以下内容不起作用?
(10, 10) |> ((a,b) -> a + b)
实际用例更加复杂,但是我希望了解Julia的使用模式
答案 0 :(得分:3)
((a,b) -> a + b)
是两个参数的函数,而元组(10, 10)
只是一个值。除了@Gnimuc建议的外,还可以在lambda中解压缩参数:
julia> (10, 10) |> (((a,b),) -> a + b)
20
但是,老实说,我发现多余的逗号有点难看。
答案 1 :(得分:2)
流水线运算符仅支持单参数链接:
if ((customKey<='9')&&(customKey>='0'))
{
DataStr+=customKey;
TulisanDesimalBeli(customKey,DataStr);
a=(int)customKey&0x0F;
HarBel=HarBel*10;
HarBel=HarBel+a;
}
"""
|>(x, f)
Applies a function to the preceding argument. This allows for easy function chaining.
# Examples
```jldoctest
julia> [1:5;] |> x->x.^2 |> sum |> inv
0.01818181818181818
```
"""
|>(x, f) = f(x)
等同于(10, 10) |> ((a,b) -> a + b)
,在Julia中这显然是非法的,因为它缺少了一个斜体运算符((a,b) -> a + b)((10, 10))
,因此:
((a,b) -> a + b)((10, 10)...)