gpt4 book ai didi

Perl '->' 奇怪的符号

转载 作者:行者123 更新时间:2023-12-04 02:43:37 25 4
gpt4 key购买 nike

在下面的上下文中这个'->'是什么意思我不知道它是什么意思。这不是我们创建的对象,至少不是使用 new 的传统方式,我也无法想象“->”行是子例程调用的参数。

my $Interface = SOAP::Lite
-> uri("urn:iControl:$name")
-> readable(1)
-> proxy("https://$sHost/iControl/iControlPortal.cgi");

感谢您在几年不时使用 Perl 后继续使用这种第一次看到的语法。

我很困惑。

谢谢/赫尔曼

最佳答案

a
->b(...)
->c(...)
->d(...)

只是一种更易读的写法

a->b(...)->c(...)->d(...)

这意味着

( ( a->b(...) )->c(...) )->d(...)

my $temp1 = a->b(...);
my $temp2 = $temp1->c(...);
$temp2->d(...)

它只是一连串的方法调用,其中一个方法返回一个对象作为下一个方法的调用者。

SOAP::Lite 使用一个常见的“技巧”让 setter 返回属性已设置的对象,从而允许

 my $obj = Class->new();
$obj->setter1(...);
$obj->setter2(...);
$obj->setter3(...);

写成

 my $obj = Class->new()
->setter1(...)
->setter2(...)
->setter3(...);

关于Perl '->' 奇怪的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com