Здравствуйте, Хэлкар, Вы писали:
Х>Нет, не решает. А должно? Если вы зайдете в список предложенных фич для C#, то увидите, что их там тысячи. Понятно, что все они никогда не будут реализованны. Данная фича хороша, но для большинства не критична.
Надо реализовать 1+2 фичи позволяющие людям создавать свои синтаксические расширения, а остальное возложить на пистелей библиотек.
MS тратит десятки лет, чтобы потом изобрести то, что существует уже почти 20 лет.
Немерлу этот оператор перекрутили сразу же как о нем узнали.
https://github.com/rsdn/nemerle/blob/db4bc9078f1b6238da32df1519c1957e74b6834a/testsuite/positive/pipe.n
def x(p : int)
WriteLine(p)
def y(p : int)
p + 1
1 |> x
x <| 2
3 |> fun(p)
WriteLine(p)
(fun(p) { WriteLine(p) }) <| 4
4 |> y |> x
x <| (y <| 5)
/*
BEGIN-OUTPUT
1
2
3
4
5
6
END-OUTPUT
*/
Собственно определяется он как оператор в стандартной библиотеке:
[assembly: Nemerle.Internal.OperatorAttribute ("Nemerle.Core", "|>", false, 227, 228)]
...
namespace Nemerle.Builtins
{
...
public static @|> (a : 'p1, fac : 'p1 -> 'r) : 'r
{
fac(a)
}