В языке Паскаль любому формальному параметру, который не имеет описателя var, при вызове подпрограммы должно быть сопоставлено некоторое значение. Нет var - оно копируется в формальный параметр. Есть var - в формальный параметр копируется ссылка. Просто, как мычание, в чем проблема-то?
Переменные автоинициализируются.
@RAlex, может быть, имелся ввиду параметр, доступный из метода только для записи? WriteOnly - параметр?
Я не могу пытаться догадываться, что имелось в виду. Привык читать, что написано, а не между строк.
Ну, там ясно сказано про out - параметр из C#. В C# есть 3 вида параметров:
-
Обычные параметры
-
ref - параметры, передаваемые по ссылке. Паскалевский аналог - Var
-
out - параметры, передаваемые по ссылке и доступные только для записи.
Замечаете, что последнее время что бы не обсуждали - это не про ABC.NET, а или про то, как это сделано в С++/С#, или о том, что этого нет в Delphi? Странно это все. И лично меня потихоньку раздражает. Каждый язык прежде всего должен иметь индивидуальность.
С индивидуальностью у паскаля всё прекрасно, а вот функционала часто не хватает. Лучше, по вашему, предлагать рандомные идеи, а не то что проверено опытом в других языках?
Замечаю, только это не моя была идея. Мне проще придумать, где использовать WriteOnly - свойства, чем out - параметр.
Я скажу грубовато, но просто: не надо выпендриваться. Функционала в языке в рамках того, для чего он предназначался, выше крыши! Уже выкусывать лишнее впору. Понатыкано столько, что не хватит тысячи страниц это все описать.
А разве я где-то писал, что она Ваша? ))
Согласен и с Вами и с Сергеем. Слишком много ненужного функционала, а нужный разработчики откладывают в долгий ящик.
Он имеет. И введение ключевого слова (подобного out) никак не навредит его индивидуальности - все индивидуальное то у него останется.
А я скажу, что не надо тут говорить грубовато. Тут приличный форум и Вы не с кентами с площадки разговариваете.
Я бы предпочел все-таки прочитать, зачем все это надо.
В который раз уже: не след лезть с сишными прибабахами на форум по Pascal. Кому надо С - пишет на С.
Точнее Вы не хотите, чтобы язык вбирал лучшее из других языков? Если бы out в C# не был бы нужен, его бы там и не было. Ведь логично?
А почему, кстати, typeclass’ы убрали?
Абсолютно логично. Но Паскаль - это не Си-шарп. и НИКОГДА им не станет.
И не Haskell, из которого typeclass’ы взяли. Но они же были в PascalABC.Net. И я не понял почему убрали их. Лично мне - эта штука понравилась.
И не Хаскель, верно. Их взяли, потому что они были необходимы для построения определенного функционала, потому что стояла задача обеспечить то, что дает, в частности Python. То, что не пошло - потом убрали.
Вот. Так пусть PascalABC.Net будет языком, который вберет лучшее из других и даст легкий переход на другие языки. Вы согласны с этим? Не ради ли этого создавался проект?