Убрал необходимость в скобках для try/catch/finally
Как вам такое использование:
using System.Console;
def x = try int .Parse("~1" ) catch 0 finally WriteLine("Using default value" );
WriteLine(x);
выводит:
Using default value
0
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re: Убрал необходимость в скобках для try/catch/finally
От:
catbert
Дата: 18.04.11 18:40
Оценка:
Круто. Остались только круглые скобки в for/foreach/if/when/while и так далее
Re: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, VladD2, Вы писали:
VD>Как вам такое использование:
VD>VD>using System.Console;
VD>def x = try int .Parse("~1" ) catch 0 finally WriteLine("Using default value" );
VD>WriteLine(x);
VD>
VD>выводит:
VD>VD>Using default value
VD>0
VD>
Выглядит странно... Но иногда нехватало
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, VladD2, Вы писали:
VD>Как вам такое использование:
VD>VD>using System.Console;
VD>def x = try int .Parse("~1" ) catch 0 finally WriteLine("Using default value" );
VD>WriteLine(x);
VD>
VD>выводит:
VD>VD>Using default value
VD>0
VD>
Удобно будет очень часто. Я так понимаю это только если внутри Трай одно выражение (как со скобками в форе) ?
Re: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, VladD2, Вы писали:
VD>Как вам такое использование:
Никогда не понимал почему в try-catch нужны всегда скобки, а в других конструкциях необязательны.
Re[2]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, catbert, Вы писали:
C>Круто. Остались только круглые скобки в for/foreach/if/when/while и так далее
Вот это не надо.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[2]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, _nn_, Вы писали:
__>Никогда не понимал почему в try-catch нужны всегда скобки, а в других конструкциях необязательны.
Та же фигня. Очередной раз задумавшись над этим решил устранить вселенскую несправедливость
.
Убрать скобки у тела и finally не составила труда (замена одной функции разбирающей блок на другую). А вот с сокращением catch-а пришлось мальца повозиться. Теперь выражение try x catch y разбирается как try { x } catch { | _ => y } ранее.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[2]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, BogdanMart, Вы писали:
BM>Удобно будет очень часто. Я так понимаю это только если внутри Трай одно выражение (как со скобками в форе) ?
Ну, да. Я просто обобщил парсинг. Заменил разбор блоков на разбор любых выражений. Старый вариант теперь является частным случаем.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[2]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, hardcase, Вы писали:
H>Выглядит странно...
А по-моему очень естественно. Я просто обобщил правила применения блоков. Теперь и в try/... тоже используются подвыражения.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[2]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, catbert, Вы писали:
C>Круто. Остались только круглые скобки в for/foreach/if/when/while и так далее
Ага, и вот здесь вот тоже:
int .Parse( "~1" )
Re[3]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, Воронков Василий, Вы писали:
ВВ>ВВ>int .Parse( "~1" )
ВВ>
ВВ>
В лес со своим млеподобным синтаксисом. Я со школы привык скобочки писать.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[4]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, VladD2, Вы писали:
VD>В лес со своим млеподобным синтаксисом. Я со школы привык скобочки писать.
Так не проблема
( int .Parse "~1" )
Re[5]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, Воронков Василий, Вы писали:
ВВ>ВВ>( int .Parse "~1" )
ВВ>
Ну, вот пользуйся в свое удовольствие... в одиночестве. А для меня не проблема человеческая мат.запись. Я к ней как-то за 20 лет привык.
Есть логика намерений и логика обстоятельств,
последняя всегда сильнее .
Re[5]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Так не проблема
Почему же не сделать следующий шаг?
ВВ>ВВ>( (. int Parse) "~1" )
ВВ>
Re[6]: Убрал необходимость в скобках для try/catch/finally
Здравствуйте, catbert, Вы писали:
C>Здравствуйте, Воронков Василий, Вы писали:
ВВ>>Так не проблема
C>Почему же не сделать следующий шаг?
ВВ>>ВВ>>( (. int Parse) "~1" )
ВВ>>
Хахаха. Лисп
)
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить