Raku中是否有“管道”运算符?

9
我的意思是反向应用操作符。例如在Haskell中,它将是&
ghci> import Data.Function ((&))
ghci> 2 & (+ 1)
3

在Raku中,我看到了==>馈送运算符,但这似乎不能与lambda一起使用?
> (* + 1)(2)
3
> 2 ==> (* + 1)
===SORRY!=== Error while compiling:
Only routine calls or variables that can '.push' may appear on either side of feed operators.
------> 2 ==> ⏏(* + 1)
2个回答

12
使用“feed”运算符 ==>
2 ==> (* + 1)()
或者
2 ==> &[+](1)

使用 andthen

2 andthen * + 1

或者

2 andthen $_ + 1

真是个愚蠢的错误,哈哈。我想我太习惯 JS/TS 和 Haskell 了...谢谢。 - menfon
1
我们都在这里学习,@menfon! - jubilatious1

6
在Raku REPL中:
> 2 ==> sum()
2
> 2 ==> sum(0)
2
> 2 ==> sum(1)
3

还有:

> my $a = 2
2
> $a ==> sum()
2
> $a ==> sum(0)
2
> $a ==> sum(1)
3

此外:

> my $b = 2
2
> sum() <== $b
2
> sum(0) <== $b
2
> sum(1) <== $b
3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接