Есть две опции
| SomeVariantA => Foo()
| SomeVariantB => Foo()
...
или для листов
|[] => Foo()
|[a] => Foo()
....
не хочется дублировать строчки. как по красивше записать?
30.01.07 18:16: Перенесено модератором из 'Декларативное программирование' — IT
Здравствуйте, chudo19, Вы писали:
C>Есть две опции
C>| SomeVariantA // => Foo()
C>| SomeVariantB => Foo()
C>...
C>или для листов
C>|[]// => Foo()
C>|[a] => Foo()
C>....
C>не хочется дублировать строчки. как по красивше записать?
см. выделенное
... << RSDN@Home 1.2.0 alpha rev. 0>>
Здравствуйте, chudo19, Вы писали:
C>однако теперь он не дает доступ к переменным
C>в чем конечно есть логика.
C>|[a]
C>|b::_ => a and b not visible
Дык, а как ты хотел. Матч то идет по одной ветке, т.о. переменные в другой не будут иметь смысла. Так, пожалуйста:
| [x]
| x :: _ => WriteLine($"$x")
... << RSDN@Home 1.2.0 alpha rev. 0>>
Здравствуйте, ie, Вы писали:
C>>однако теперь он не дает доступ к переменным
C>>в чем конечно есть логика.
C>>|[a]
C>>|b::_ => a and b not visible
ie>Дык, а как ты хотел. Матч то идет по одной ветке, т.о. переменные в другой не будут иметь смысла. Так, пожалуйста:
ie>ie> | [x]
ie> | x :: _ => WriteLine($"$x")
ie>
или ещё как вариант:
| [a] with b = 1
| b :: _ with a = 2 => WriteLine($"$a:$b")
... << RSDN@Home 1.2.0 alpha rev. 0>>