|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Renat Araslanow 2:5011/119.1 22 Aug 2001 13:56:01 To : Alexander Babanov Subject : sub inline -------------------------------------------------------------------------------- Однажды 21 Aug 01 18:05, Alexander Babanov писал Renat Araslanow: RA>> Бочку пива|колы тебе All ! AB> Hаливай! :) пересечёмся в одной географической локации - с радостью */_=)_/* RA>> вот кусочек. будет ли функция инлайновая и если нет (судя по доке RA>> из-за '&' ), то можно ли сделать чтобы всё таки было инлайн? RA>> #!perl RA>> sub AREA() {2} RA>> my $type='area'; RA>> my $z=&{uc $type}; RA>> print $z; AB> Может ты попробуешь объяснить на пАльцах что и зачем тебе надо сделать? AB> Получить в $z двойку? Так она и так получается... идея в том что $type во время исполнения приобретает значения из заранее ожидаемого диапазона. и эти значения надо квалифицировать для дальнейшего использования в виде цифр, т.е. таких конструкций как sub XXX() {1-9} будет несколько. при этом эти субы подставляются инайново (нет затрат на вызов суба) но с одной оговоркой они должны вызываться без '&'. вот я и спрашиваю: можно ли разименовать и вызвать функцию представленную symbolic reference без использования '&'. ниже более коректный пример #!perl sub AREA() {2} sub MAREA() {3} sub KAREA() {4} for my $type ('area','marea','karea') { my $z=&{uc $type}; print $z; } --- [Преждевременная оптимизация -- корень всех зол Д. Кнут] * Origin: Чайник с программным управлениемЪ (2:5011/119.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/32783b83679b.html, оценка из 5, голосов 10
|