Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.04.11 18:36
Оценка: 84 (8) +2
Как вам такое использование:
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
От: hardcase Пират http://nemerle.org
Дата: 18.04.11 18:49
Оценка:
Здравствуйте, 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
От: BogdanMart Украина  
Дата: 18.04.11 19:39
Оценка:
Здравствуйте, 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
От: _nn_ www.nemerleweb.com
Дата: 19.04.11 11:28
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Как вам такое использование:


Никогда не понимал почему в try-catch нужны всегда скобки, а в других конструкциях необязательны.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.11 13:53
Оценка: +1
Здравствуйте, catbert, Вы писали:

C>Круто. Остались только круглые скобки в for/foreach/if/when/while и так далее


Вот это не надо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.11 13:55
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Никогда не понимал почему в try-catch нужны всегда скобки, а в других конструкциях необязательны.


Та же фигня. Очередной раз задумавшись над этим решил устранить вселенскую несправедливость .

Убрать скобки у тела и finally не составила труда (замена одной функции разбирающей блок на другую). А вот с сокращением catch-а пришлось мальца повозиться. Теперь выражение try x catch y разбирается как try { x } catch { | _ => y } ранее.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.11 13:56
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>Удобно будет очень часто. Я так понимаю это только если внутри Трай одно выражение (как со скобками в форе) ?


Ну, да. Я просто обобщил парсинг. Заменил разбор блоков на разбор любых выражений. Старый вариант теперь является частным случаем.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.11 13:57
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Выглядит странно...


А по-моему очень естественно. Я просто обобщил правила применения блоков. Теперь и в try/... тоже используются подвыражения.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Убрал необходимость в скобках для try/catch/finally
От: Воронков Василий Россия  
Дата: 19.04.11 14:07
Оценка:
Здравствуйте, catbert, Вы писали:

C>Круто. Остались только круглые скобки в for/foreach/if/when/while и так далее


Ага, и вот здесь вот тоже:

int.Parse("~1")


Re[3]: Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.11 16:12
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>
ВВ>int.Parse("~1")
ВВ>

ВВ>

В лес со своим млеподобным синтаксисом. Я со школы привык скобочки писать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Убрал необходимость в скобках для try/catch/finally
От: Воронков Василий Россия  
Дата: 19.04.11 17:15
Оценка: :))
Здравствуйте, VladD2, Вы писали:

VD>В лес со своим млеподобным синтаксисом. Я со школы привык скобочки писать.


Так не проблема

(int.Parse "~1")
Re[5]: Убрал необходимость в скобках для try/catch/finally
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.04.11 17:30
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>
ВВ>(int.Parse "~1")
ВВ>


Ну, вот пользуйся в свое удовольствие... в одиночестве. А для меня не проблема человеческая мат.запись. Я к ней как-то за 20 лет привык.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Убрал необходимость в скобках для try/catch/finally
От: catbert  
Дата: 19.04.11 19:40
Оценка: +1 :))) :)))
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Так не проблема


Почему же не сделать следующий шаг?

ВВ>
ВВ>( (. int Parse) "~1")
ВВ>
Re[6]: Убрал необходимость в скобках для try/catch/finally
От: BogdanMart Украина  
Дата: 19.04.11 19:44
Оценка:
Здравствуйте, catbert, Вы писали:

C>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>Так не проблема


C>Почему же не сделать следующий шаг?


ВВ>>
ВВ>>( (. int Parse) "~1")
ВВ>>



Хахаха. Лисп )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.