这个' - >'在下面的环境中做了什么,我不知道它意味着什么.这不是我们创建的对象,至少不是传统的new方法,也不能想象' - >'行是子程序调用的参数.
my $Interface = SOAP::Lite
-> uri("urn:iControl:$name")
-> readable(1)
-> proxy("https://$sHost/iControl/iControlPortal.cgi");
Run Code Online (Sandbox Code Playgroud)
在使用Perl几年之后,我们不得不继续使用这个第一次看到的语法.
我很迷惑.
THX /赫尔曼
ike*_*ami 11
a
->b(...)
->c(...)
->d(...)
Run Code Online (Sandbox Code Playgroud)
只是一种更易读的写作方式
a->b(...)->c(...)->d(...)
Run Code Online (Sandbox Code Playgroud)
这意味着
( ( a->b(...) )->c(...) )->d(...)
Run Code Online (Sandbox Code Playgroud)
要么
my $temp1 = a->b(...);
my $temp2 = $temp1->c(...);
$temp2->d(...)
Run Code Online (Sandbox Code Playgroud)
它只是一系列方法调用,其中一个方法返回一个对象,该对象充当下一个的调用者.
SOAP :: Lite使用一个常见的"技巧",让setter返回其属性设置的对象,允许
my $obj = Class->new();
$obj->setter1(...);
$obj->setter2(...);
$obj->setter3(...);
Run Code Online (Sandbox Code Playgroud)
写成
my $obj = Class->new()
->setter1(...)
->setter2(...)
->setter3(...);
Run Code Online (Sandbox Code Playgroud)