AK
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/pattern-matching#constant-patterns
Size: a a a
AK
YS
RE
rule(BinOp("+", let(X=number), let(Y=number)), ...
X = let(X=number)
Y = let(Y=number)
rule(BinOp("+", X, Y), ...
int x (или var x) чтобы завести новую переменную по результатам сопоставления с образцом и отличать её, тем самым, от шаблона x, который будет использовать знаечение x.VK
E
int x (или var x) чтобы завести новую переменную по результатам сопоставления с образцом и отличать её, тем самым, от шаблона x, который будет использовать знаечение x.if (obj is Foo foo) или конкретно в пм?PS
int x (или var x) чтобы завести новую переменную по результатам сопоставления с образцом и отличать её, тем самым, от шаблона x, который будет использовать знаечение x.YS
VY
PS
YS
YS
PS
RE
Point(x, y). И что такое пишется в позиции x и y? Вот в C++ предлгают разрешать там писать как выражения так и идентификаторы, но смысл идентификаторов будет другой, не такой как вы выражении — они будут означать формальный параметр (а не значение). Это меня и шокировало до глубины души (но C++ здесь далеко не одинок). Ну они там еще предлагают специальный синтаксис чтобы указать что хочется именно выражение.MB
RE
MB
YS
Point(x, y). И что такое пишется в позиции x и y? Вот в C++ предлгают разрешать там писать как выражения так и идентификаторы, но смысл идентификаторов будет другой, не такой как вы выражении — они будут означать формальный параметр (а не значение). Это меня и шокировало до глубины души (но C++ здесь далеко не одинок). Ну они там еще предлагают специальный синтаксис чтобы указать что хочется именно выражение.G
MB