数组是通过引用传递的。如果将数组作为参数传递到某过程并在该过程中修改此参数,则数组将在从过程调用返回时具有修改的值。例如:
proc fred( string $myArray[] ) {
for ( $i=0; $i<size($myArray); ++$i ) {
$myArray[$i] = "fred";
}
$myArray[$i] = "flintstone"; // add to the end of the array.
}
string $a[] =`ls -geometry`;
print("Before call to fred\n");
print $a;
fred($a);
print("After call to fred\n");
print $a;
produces this output:
Before call to fred
nurbConeShape1
nurbConeShape2
nurbSphereShape1
nurbSphereShape2
After call to fred
fred
fred
fred
fred
flintstone