| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Че за операция y()? |
| Автор: Danissimo 8.12.2006, 14:32 | ||
x.pl:
Если выполнять его так: $ perl -W x.pl Name "main::Response" used only once: possible typo at x.pl line 8. Use of uninitialized value in transliteration (tr///) at x.pl line 4. Если так: $ perl x.pl то вобще ничего. Если в 4 строчке вызов y() заменить на z() и в 7 имя изменитьна z, то все работает. Что такое y()? |
| Автор: Nab 8.12.2006, 14:40 |
| perldoc perlfunc |
| Автор: korob2001 8.12.2006, 14:46 |
| y/// тоже самое что и tr///; Ты назвал подпрограмму зарезервированным именем, потому запуск программы с ключём -W выдаёт тебе предупреждение. |
| Автор: Danissimo 8.12.2006, 15:09 |
| Получается, что скобки, как, например, в С не являются указанием на то, что встреченное имя -- это имя функции. Знакомясь с перлом все больше и больше, я прихожу вот к каким выводам: 1. Определить функцию в перле нельзя. Только подпрограмму. И слово sub на это недвусмысленно указывает. На первый взгляд функция, подпрограмма кажутся игрой слов. Однако это, похоже, не так. 2. Скобки всего лишь обозначают список. Причом массив и список -- разные вещи. Список -- это нечто, связанное с контекстом выполнения. Массив -- хранилище. Ваши мысли? |
| Автор: korob2001 8.12.2006, 15:56 | ||
| sub имя { } - функция, метод, подпрограмма, процедура. Как нравится, так и называй. Лично я называю подпрограмма, если же речь идёт об ООП, тогда метод. Вот нескольк примеров работы со списками и массивами.
Заметь, что не нужно создавать временную переменную. |