|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander Bolotnov 2:5052/4.82 03 Jul 2001 20:07:27 To : Denis Roshchin Subject : странность. -------------------------------------------------------------------------------- 03 Jul 01, Denis Roshchin -> All: 1. >> $_ = ret('halloha'); 2. >> print; 3. >> 4. >> sub ret{ 5. >> return chop @_; 6. >> } > первое) @_ - это переменная, которая read-only. > если хочешь - делай: sub ret(){$aa=@_; chop($aa); return $aa} это понятно, можно проще: ($aa) = (@_); return chop $aa; > второе) по-моему надо к тому-же использовать @_[0]; да не обязательно, имхо. > третье) функции должны быть описаны вначале. в perldoc perlsub они чаще, имхо, описаны в конце. > четвертое) вообще - стиль написания не очень IMHO. ну так, учимся еще. > как-бы я написал: > 1. sub ret($) а смысл подобного ограничения? > 2. { $aa=@_[0]; ($aa) = (@_); > 3. chop($aa); > 4. return $aa; return chop $aa; > 5. } > 6. $ab = "halloha"; > 7 print ret($ab); гы. проще тогда print chop $ab, зачем функцию-то тогда создавать? >> а у некоторых работает? > Меня всегда тоже интересовала философия... > Почему некоторые пишут, и у них все работает... у других - нет :)) не принципиально, ты имхо, совсем не врубился в смысл... по поводу read-only, почему вот это работает? === Cut === sub ret{ return pop @_; } @list = qw(some more even clue); $_ = ret(@list); print; === Cut === Alexander Bolotnov. Scientia vincere tenebras. --- * Origin: Я не слон... а вот ты - слон... (2:5052/4.82) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/27883b42270d.html, оценка из 5, голосов 10
|