Так вот, этот человек и пароход искренне делится со своими читателями новым инсайтом! Та-дамм, The tadpole operators:
#define __ENABLE_EXPERIMENTAL_TADPOLE_OPERATORS
using System;
class Program
{
static void Main()
{
var x = 2;
Console.WriteLine(~-x); // x-1
Console.WriteLine(-~x); // x+1
Console.Write("Done.");
Console.ReadKey();
}
}
Штука экспериментальная, не забудьте про дефайн!
Зачем оно надо? Ну, во-первых стандартный ++ оператор страдает от широко известной i++-++i problem (из-за досадного бага в компиляторе результат выражения — константа, можете сами проверить).
Во-вторых, в связи с популярностью ФП операторы с побочными эффектами как-то совсем не комильфо.
Причём тут шарп, если в оригинальном топике речь про c++? Ну, авторам оччень нравится эта фишка, так что они в свободное время продавили её в несколько других языков.
S>Так вот, этот человек и пароход искренне делится со своими читателями новым инсайтом! Та-дамм, The tadpole operators:
Ща проверил — в Nemerle годичной давности эти операторы уже запилили макросом. Бум надеяться в шарпе в релиз пойдёт без дефайна — во всяких циклах штука полезная.
Здравствуйте, Sinix, Вы писали:
S>Зачем оно надо? Ну, во-первых стандартный ++ оператор страдает от широко известной i++-++i problem (из-за досадного бага в компиляторе выражение транслируется в константу, можете сами проверить).
Эээ?! А i+1-1+i или 1+i-i+1 совсем никак нельзя обойтись? Выглядит, кстати тоже ничего.
Какое-то позднее у них первое апреля однако.
Здравствуйте, fddima, Вы писали:
F> Эээ?! А i+1-1+i или 1+i-i+1 совсем никак нельзя обойтись? Выглядит, кстати тоже ничего.
Низзя, breaking change. Сами попробуйте, результат другой.
F> Какое-то позднее у них первое апреля однако.
Это вы ещё официальный календарь от Valve не видели. И официальные же комментарии:
Valve Time is interesting ... And people get an idea of Valve Time because they're very used to how maybe other people work and bring things out. Other people have much more formalised schedules. They have dates they have like lines in the sand because of their structures (у Valve эти линии проводят, очевидно, на воде — Sinix).
...
The reason for that is because it's odd. ... It's actually not super important if this thing comes out on the Christmas where we said ... What's actually more important is ... it comes out in spring.
...
Because we're trusting the fact that when it takes longer, it will be better.
...
It's a high compliment!
Как человек, который работает по anti-Valve calendar я искренне им завидую
Здравствуйте, Sinix, Вы писали:
S>Как человек, который работает по anti-Valve calendar я искренне им завидую
Пойду-ка я лучше... п(р)осплю(сь). Авось и всё на место вернётся.
Здравствуйте, Sinix, Вы писали:
S>Всем известный Реймонд Чен (который The Old New Thing блог, также рекомендую великолепные переводы от gunsmocker)...
S>Так вот, этот человек и пароход искренне делится со своими читателями новым инсайтом! Та-дамм, The tadpole operators: S>