В паскале у строк Copy-On-Write семантика. Исключение: передача символа строки по ссылке. Там ничего не копируется.
Открываем в Паскале Справку. Все типы в PascalABC.NET подразделяются на две большие группы: размерные и ссылочные. К размерным относятся все простые типы, указатели, записи, статические массивы, множества и строки. К ссылочным типам относятся классы, динамические массивы, файлы и процедурный тип
begin
Writeln(typeof(string).IsClass); // True
end.
Строки имеют ссылочный тип. В C# тоже так. Поэтому написанное в справке утверждение противоречит действительности, которая продемонстрирована программой.
Я уже говорил, что от этого аргумента меня лишь неприлично “пробивает на ржачку”. Строки - они так, как захотели сделать разработчики. А там не все так уж однозначно. Есть еще строки с фиксированной длиной. Официальный источник информации - Справка. А вовсе не ссылки на другой язык.
Упоминание про C# здесь не было аргументом. Не вижу ничего смешного в том, чтобы упомянать про другие языки программирования. Впрочем, это Ваше личное дело как к этому относится.
Я привёл пример кода, показывающий, что string - ссылочный тип.
Вы лишь показали пример, в котором string ведет себя, как ссылочный тип. Не более того. Я подожду, может быть разработчики скажут, правильно ли у них написано в Справке, или нет.
Если доверять Вашей “проверке” получается что Справка вообще почти везде врёт, говоря о размерных типах.
type
t0 = string;
t1 = set of char;
t2 = record
x: integer;
y: string;
end;
t3 = array of integer;
t4 = array[1..5] of real;
t5 = ^integer;
t6 = pointer;
begin
typeof(t0).IsClass.Println; // True - строка
typeof(t1).IsClass.Println; // True - множество
typeof(t2).IsClass.Println; // False - запись
typeof(t3).IsClass.Println; // True - динамический массив
typeof(t4).IsClass.Println; // True - статический массив
typeof(t5).IsClass.Println; // True - типизированный указатель
typeof(t6).IsClass.Println; // True - бестиповый указатель
end.
Текст из Справки еще раз:
К размерным относятся все простые типы, указатели, записи, статические массивы, множества и строки. К ссылочным типам относятся классы, динамические массивы, файлы и процедурный тип.
Поддерживаю Ваше предложение.
Не думаю, что уместен сарказм по поводу «проверки».
А это Ваше право. Я не обязан доверять тому что пишет эта функция, мало ли как она реализована. Если вдруг программа выдаст, что 2+2=5, это не поставит всю математику “на уши”.
В панель управления - Языки и регион. станд. язык стоит русский. В самом АВС тоже русский. Я пробовал так: скопировал всю папку из другого компьютера и вставил в этом компьютере, но всеравно английский коментарии.
Да врёт справка, я всё это декомпилировал - статические массивы, множества и строки (в том числе и короткие) - это классы. Единственное - IsClass считает указатели классом тоже, просто потому что они хранят ссылку. Но указатель это и не запись, однозначно))) Да и при наведении мышки показывает что это класс.
Так, подождите, теперь это комментарий? Я совсем запутался, приведите скрины.
@Gleb, Вы где грубость в очередной раз увидели? Я скоро буду вынужден к @Admin обращаться по поводу Ваших публичных наездов на пустом месте.
Тогда у Вас есть повод создать issure ))))
Нет, комментарий не в тексте программы, а в инспектор объектов (где отражены свойство). Например, в форме добавлено TextBox, и мы стоим в свойство ReadOnly, а внизу инспектор объектов комментарий отражается на английском: Controls whether the text …
Предоставьте скрины, всё равно.
Справку надо целиком переделывать, создавать issue про неё бесполезно. Это лишь оттягивает момент когда кому то надоест такая справка и этот кто то сделает нормальную.
Справка врет. Строки ссылочные.
Это - явно не уважительное обращение:
@ibond, а как насчет указателей, статических массивов и множеств? Тоже справка врет? Тогда надо бы как-то переделать… Написать, к примеру, что размерные - только простые базовые типы и записи.
Но Вы же понимаете, что Справка - единственный официальный документ по языку! И если она настолько “ненормальная”, как Вы утверждаете, как таким языком пользоваться людям?