双结参数交换边

Double junction arguments swapping sides

我对双联结的工作原理感到困惑。

这有点道理:

say all('a', 'b', 'c') ~ any('d', 'e');

给予

all(any(ad, ae), any(bd, be), any(cd, ce))

这没有意义:

say any('a', 'b', 'c') ~ all('d', 'e');

给予

all(any(da, db, dc), any(ea, eb, ec))

这让我感到困惑,因为我希望位于字母 'd' 左侧的字母 'a' 现在位于右侧。

这确实是一个错误。这已通过 https://github.com/rakudo/rakudo/commit/4ef8433aa2 修复。

感谢您的问题/错误报告!下一个 Rakudo 编译器版本/下一个 Rakudo Star 版本将包含此修复。