iç gözlemi için soruyorsunuz. Bunu sağlayan birçok OO çerçevesi vardır (ör. Moose). Ancak, işlevinin işlevini bildirmek ve daha sonra programınızın içinden incelemek istiyorsanız, Function::Parameters gitmek için makul bir yoldur. Function::Parameters::Info Sinopsis itibaren
:
use Function::Parameters;
fun foo($x, $y, :$hello, :$world = undef) {}
my $info = Function::Parameters::info \&foo;
my $p0 = $info->invocant; # undef
my @p1 = $info->positional_required; # ('$x', '$y')
my @p2 = $info->positional_optional; #()
my @p3 = $info->named_required; # ('$hello')
my @p4 = $info->named_optional; # ('$world')
my $p5 = $info->slurpy; # undef
my $min = $info->args_min; # 4
my $max = $info->args_max; # inf
my $invocant = Function::Parameters::info(method() { 42 })->invocant; # '$self'
my $slurpy = Function::Parameters::info(fun {})->slurpy; # '@_'
aslında Moose kullanılarak uygulanır :: Bilgi modülünde içgözlem özelliği.
Sanırım ilk cümlenin insanları yanlış yönlendiren garip bir ifadesiydi. Cevabım üzerine bir altprogramın prototipini belirlemenin bir yolunu gerçekten istediğini anladığımızı anlayana kadar değildi. IDE ya da benzer bir şey yazmıyorsanız yapmak istediğiniz garip bir şey. Bunun nedenlerini açıklar mısınız, çünkü daha iyi bir çözüm olabilir. Standart Perl 5'in ilk etapta prototipleri yok, böylece getirilecek hiçbir şey yok. Farklı bir dil kullanarak daha iyi olabilirsiniz. – Borodin
Teşekkürler, bu iyi bir geri bildirim ve yanlış ifade edilen soru için özür dilerim. Benim kullanım durumum, bir işlev seçildikten sonra web sayfasında istenen adlandırılmış parametreleri dinamik olarak görüntülemek. Fonksiyon :: Parametrelerin kabul edilen cevabı tam olarak aradığım şeydir. – nando