обнаружен момент, который, на мой взгляд, противоречит и интуитивному ожиданию, и логике.
описан в
соседней веткеАвтор: _Claus_
Дата: 10.01.12
, поэтому повторяться не буду, предложу решение.
match(var)
{
x =>
x() =>
}
если и впрямь не всегда возможно понять x тип или нет (сомнительно, но пусть), то можно обойтись тем, что x всегда некий тип.
логика такая
match(var)
{
x => //x - тип, в этой ветке здесь var вводится как приведенное к x
var.fld_x
x() => //то же что выше + вводятся все открытые поля x
//т. е. если у x есть fld1, fld2, то сразу можно написать
methodn(fld1, fld2)
}
смысла трактовать x как переменную нет никакого.
плюсы — избавляемся от мощного неадеквата с регистром + ясность.
минус — обратная совместимость под вопросом.