В настройках компилятора, по непонятным для меня причинам, постоянно ставится галочка на “генерировать отладочную информацию”, хотя я её уже замучался там отключать.
Можно, пожалуйста, горячую клавишу для закомментирования нескольких строчек? К примеру, по аналогии с отступами (TAB
и Shift
+TAB
) - /
и Shift
+/
. И так же как с отступами - чтоб работало только если выделить несколько строчек.
Вот, кстати, да. Очень удобно. Только ещё и такую ГК для раскомментирования нескольких строчек.
ГК? Не знаю что это значит, но я упомянул сочетание клавишь для раскомментирования - Shift
+/
, по аналогии с Shift
+TAB
.
Это я так неудачно сократил “горячая клавиша”…
Так это, Ctrl+/ работает же, только он блок из строк комментирует как каждую отдельную строку //. А вы наверное про блочное комментирование (**)?
А, действительно комментирует, не знал.
Нет я именно про //
.
Но как раскомментировать после этого?
Та же комбинация Ctrl+/
Вот же ж… Как это мимо меня прошло? Век живи…
operator+= работает для процедур которые =nil:
begin
var p:procedure := nil;
p += ()->begin writeln('test') end;
p();//выводит "test"
end.
Но не для списков:
begin
var l1 := new List<byte>;
l1 += byte(1);
writeln(l1);//Выводит "[1]"
var l2: List<byte> := nil;
l2 += byte(2);//ошибка
writeln(l2);
end.
Это можно по простому исправить, заменив в PABCSystem
function operator+=<T>(a: List<T>; x: T): List<T>; extensionmethod;
begin
a.Add(x);
Result := a;
end;
на
function operator+=<T>(var a: List<T>; x: T): List<T>; extensionmethod;
begin
if a = nil then a := new List<T>;
a.Add(x);
Result := a;
end;
Я проверил, работает.
Как насчёт сделать это?
Нет, это неправильно. Процедурные типы - это обёртки для Multicast-делегатов, и они когда описываются - считайте, что они уже сконструированы, и внутри уже инициализирован список с одним nil.
А списки - обычные ссылочные типы - там обязательно должно кидаться исключение если ссылка не инициализирована.
Вы в своём коде вправе конечно желать что хотите
Майн Готт… попытки сделать из Паскаля C# по прежнему оставляют нескольких беспокойных… э … участников форума.
Все и так к этому идёт.
Предложение добавить в паскаль функционал из языков, который не по глупости а из за какой либо необходимости добавили в те языки, особенно если те языки тоже построены на .Net - нельзя считать заведомо плохим, до рассмотрения конкретного случая.
Что касается конкретного случая - на станице msdn по ссылке выше представлен прекрасный пример где такое может быть необходимо, и нормальной замены ему нету. И со стороны реализации - это те же свойства, функционал тот же.
А с этим я не согласен. PascalABC.Net это смесь старого паскаля и C#, с лучшим из обоих языков. Как бы не пошла разработка, он всё ещё останется на половину старым паскалем, то есть никогда не станет копией C# с особым синтаксисом.
Но и это не повод отвергать фичи из C# только потому что они в C#, это уже своеобразный расизм.
Я уже сколько раз писал причину: это не расизм, а уже просто какое-то открытое негодование по поводу того, что старые вещи ждут доработок, а вы все новые идеи, наверно 3-4 человекам из нескольких тысяч нужные, продолжаете генерировать.
Это совершенно не обоснованно, вы смотрите лишь по себе. И соотношение на форуме, сейчас - точно не доказывает вашу правоту)).
Кроме того, “генерировать” тут точно не подходит. Надежды на то что удобства IDE будут улучшать были оставлены, раз разработчики сказали что дорабатывать её не будут, и нормально обосновали.
А фичами из других языков, особенно тех что .Net - нужно индивидуальный осмотр от разработчика. Их не так часто находят, чтоб тратить значимое время на осмотр.
И даже если разработчики решили что фича нужна и не слишком сложная - это ещё не значит что из за неё не будут исправляться баги. К примеру, #843 пока не занимались, значит исправление багов было важнее, и в итоге, на фичу не было потрачено времени.
Соотношение такое, что вас тут как раз 3-4 человека, пытающихся протащить то одну, то другую примбамбаску из C++ или C#. Если бы тут присутствовали все пользователи PascalABC.NET - школьники, студенты, учителя - они бы рассказали про белые тапочки, в которых они видали эти прибамбасики.
Это спекуляция.
Нет, спекуляция - это пытаться навести статистику так, как это Вы делаете. Вот когда у ларька пивного толчется перед открытием контингент, так там 100% тех, кто пива хочет, но нельзя на этом основании считать, что ВСЯ РОССИЯ ХОЧЕТ ПИВА! Сейчас на форуме вас несколько толчется, кому охота что-то просовывать, которое простым смертным и в страшном сне не приснится.И что?