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


#1659

Последняя запись работающая в Write - вообще устарела.
В наше время лучше так:

begin
  var x := 1.2345;
  Writeln(x.ToString('N2').PadLeft(5),  '|');
  Writeln(x.ToString('N2').PadRight(5), '|');
end.

Или, когда нужна краткость кода - внутри форматной строки:

begin
  var x := 1.2345;
  Writeln($'{x,5:N2}|');
  Writeln($'{x,-5:N2}|');
end.

По делу - Round возвращает число. В то время как :: во Write, .ToString и $'' - это всё операции над строками.

Кхм, в опере тоже. Ну, я б не назвал это багом. Если курсор не стоит на окне написания ответа, или использовать кнопку под ПКМ - работает нормально. Да и инструменты разработчика только для разработчиков сайта.


#1660

Read(x) работает, а, например, ReadInteger(x) — нет. Прошу добавить возможность читать так для всех возможных типов.


#1661

А вы прочитали как его использовать, перед тем как говорить что не работает?


#1662

Не понял Ваш вопрос. Если что, я имел ввиду, что Read можно записать как в виде x:=Read, так и Read(x), а ReadInteger можно записать только как x:=ReadInteger, поэтому я и прошу добавить возможность записать ReadInteger(x).


#1663

И какой, по вашему, тип у x?

Это получение адреса подпрограммы. И вообще не должно работать, потому что у Read много перегрузок, а переменной можно присвоить только адрес одной перегрузки. Ну и ещё потому что Read это волшебная подпрограмма, то есть компилятор может немного подменять код с ней.

Ну, ближе к теме - зачем вам ReadInteger(x)? Где такое может пригодиться?


#1664

Думал, будет удобнее. В принципе, незачем.


#1665

Возвращать и получать значение всегда удобнее результатом, а не var-параметром. Для этого и кортежи существуют.