Замечания и предложения

Ну… То есть это баг?

Кстати, @RAlex, а у вас последняя версия? Может это недавно сломалось, поэтому у вас не проявляется?

Шиндовс 10 опять показывает свои “преимущества”?

image

Мне повезло, для моего железа у десятки нет драйверов, так что на семерке сижу.

Разберитесь. Это может быть баг, не связанный с Паскалем. Например, автоопределение кодировки в данной версии .NET или различия в файле шрифтов.

Ну, по крайней мере так не проявляется:

{$reference System.Windows.Forms.dll}
{$reference System.Drawing.dll}
{$apptype windows}

uses System.Windows.Forms;
uses System.Drawing;

uses OpenGL;

begin
  var MainForm := new Form;
  
  var tb := new RichTextBox;
  MainForm.Controls.Add(tb);
  tb.Dock := DockStyle.Fill;
  tb.Font := new Font('Courier New', tb.Font.Size);
  
  // На случай если это может повлиять только уже после загрузки
  MainForm.Shown += (o,e)->
  begin
    tb.Text := Mtr2d.Create(1,2,3,4).ToString;
  end;
  
  Application.Run(MainForm);
end.

А чтоб шрифт был какой то на столько не такой, чтоб автоматически подменял себя другим шрифтом при выводе особой буквы - и представить не могу.

Добрый вечер.

Хочу предложить сделать такую же табуляцию как в IDLE питона: при нажатии TAB курсор перемещается не на N пробелов (1 случай), а на TAB (2 случай) (например, как в обычном “Блокноте”), назовём это “пропуском”. Соответственно, во втором случае, если мы нажимаем Backspace, у нас удаляется весь “пропуск”, в первом же удаляется лишь один пробел. Быть может, это уже предлагали, потому что идея незатейливая.

Прошу прощения, если расписал “коряво”. Очень надеюсь, что мысль понятна.

При нажатии клавиши Tab курсор сдвигается на столько позиций, сколько указано в настройках Редактора.

Да, спасибо, что отметили. Хотелось бы, чтобы курсор сдвигался на одну большую позицию, а не на N маленьких, чтобы не приходилось каждый раз нажимать Backspace N раз.

Но уже не раз писалось, что с IDE большие проблемы, заниматься ей некому. Так что желания по изменению именно в IDE (а не в языке) являются низкоприоритетными.

Спасибо за ответ. Очень жаль…

Мы равняемся на такие современные редакторы как в Visual Studio - там ничего подобного нет. Tab - 4 пробела вперёд, Backspace - удаляет один пробел. В PascalABC.NET нормальный стандартный редактор, нет с ним никаких проблем. Не знаю, о каких больших проблемах говорит RALex.

И - хотелки мы не делаем - извините

Проблемы не в IDE, а в том, чтобы его дорабатывать. Делать разные цветовые схемы и прочие хотелки. Вы сами не раз писали, что заниматься этим некому, так что я лишь своими словами это написал.

Табы принудительно заменяются на пробелы по идейным соображениям. Наелись этих табов…

1 лайк

для этого есть Alt+Backspace. Табы вообще не нужны…

 s.Where(\(name,age) -> age >= 18).Println;

Может, хотя бы, &(name, age) ? Бекслеши в остальном языке нигде не используются, даже в строках…


array это не единственное что не работает в as:

## var o: object;
var a := o as sequence of integer;
var b := o as set of integer;
var c := o as file of integer;

А ещё у вас тут в конце bagin вместо begin. А вообще почему не ##?

По поводу \ - в Haskell так. Вторая причина - использование новой лексемы не конкурирует с другими элементами языка и не порождает конфликтов. & - это адрес, в этом контексте непонятно, зачем использовать адрес. Ну и - мы уже вводили новые лексемы - | из последних

Да, спасибо, что напомнили про sequence, set и file. sequence легко заменяется на IEnumerable, set и file принадлежат к старым свойствам языка, и я не уверен, что это вообще сработает.

bagin - исправил

А я говорил про его использование в случаях вроде p1&<T> и &type: integer, для изменения представление компилятора о том, что имелось в виду (забыл ваше красивое слово). Если в одном месте &, а в другом \ - это не интуитивно.

Кстати, похоже анализатор кода сломался в ##:

##
var i := 5; // Не видит i