是否有等效于 Perl 的$_功能?我正在用 C# 重写一些旧的 perl 脚本,但我从未学过任何 perl。这是我想要弄清楚的一个例子
sub copyText {
while($_[0]){
$_[1]->Empty();
$_[0] = $_[1]->IsText();
sleep(1);
}
首先,$_不是函数。它只是一个普通变量(恰好被许多内置函数读取和更改)。
其次,您发布的代码不使用$_. @_它正在访问参数列表的元素。
您发布的代码的更具可读性的版本是:
sub copyText {
my ($arg1, $arg2) = @_;
while ($arg1) {
$arg2->Empty();
$arg1 = $arg2->IsText();
sleep(1);
}
$_[0] = $arg1; # arg1 is passed by reference
}
Empty和一个名为的方法IsText。抱歉,我不懂 C#,但希望你能继续前进。
Perl的
$_功能
这不是一个函数。这是一个代词,意思是“它”。
还有另一个特殊变量@_,它是一个代词,意思是“他们”。
C# 中没有类似物。