Wie wird auf print
verwiesen?Wie wird in Perl gedruckt?
Ich habe versucht:
my $p = \&print;
Aber es wirft:
Undefined Subroutine
&main::print
Wie wird auf print
verwiesen?Wie wird in Perl gedruckt?
Ich habe versucht:
my $p = \&print;
Aber es wirft:
Undefined Subroutine
&main::print
Es \&CORE::print
sein würde, aber perldoc CORE
lists print
as not available.
Sie können nur ein Anon Unter um ihn herum wickeln und obwohl die args weiter:
my $p = sub { print @_ };
$p->("hi");
Auch in der ursprünglichen Methode sans der Backslash funktioniert Perl 6:
my $p = &print; $p("hi")
Re "* Listen drucken als nicht verfügbar *", Man kann nur einen Verweis auf Operatoren erhalten, die durch Subroutinen repliziert werden können, so dass Sie keinen Verweis auf den 'print'-Operator bekommen können (wegen seines optionalen führenden Blocks/Globs)) mehr als Sie einen Verweis auf den Additionsoperator bekommen können (weil es ein Infix-Operator ist). – ikegami
Was auch in Perl 6 funktioniert: 'my & add = & infix: <+>; sag add 2, 5 '; # OUTPUT: 7' –
Nicht sicher, was Sie damit erreichen wollen, aber es wird wahrscheinlich zu Verwirrung führen. Zumindest ist das Bit in Ihrer Antwort. – ikegami
Was planen Sie mit '$ p' machen? – toolic
'perl -E 'mein $ p = sub {print @_}; $ p -> ("Hallo \ n") ' –
Umhergehen, ändern und aufrufen. – ceving