亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3142 | 回復(fù): 5
打印 上一主題 下一主題

函數(shù)據(jù)傳遞參數(shù)接收的區(qū)別 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-03-24 16:07 |只看該作者 |倒序?yàn)g覽
各位perl高手,請教一個問題。
  1. sub get_slave_info {
  2.          my ($dbh) = @_;
  3.         my $sql = "show slave status";
  4.         my $r;
  5.         eval{
  6.                 local $SIG{ALRM} = sub { die 'TIMEOUT' };
  7.                 alarm(30);
  8.                 $r = $dbh->selectall_hashref($sql, 1);
  9.                 alarm(0);
  10.         };
  11.         return ( values( %{$r} ))[0];
  12. }
復(fù)制代碼
這個函數(shù)的返回,傳遞給另外兩個函數(shù)如下:
1
  1. sub check_repl_1 {
  2.     my ($repl_status) = @_;
  3.         print Dumper($repl_status);
  4. }
復(fù)制代碼
2
  1. sub check_repl_2 {
  2.         my $repl_status = @_;
  3.         print Dumper($repl_status);
  4. }
復(fù)制代碼
確得不一樣的結(jié)果? 請各位大俠指導(dǎo)一下為什么?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-03-24 16:10 |只看該作者
調(diào)用方法如下:
check_repl_1(get_slave_info(\$dbh));
check_repl_2(get_slave_info(\$dbh));

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
3 [報(bào)告]
發(fā)表于 2011-03-24 16:16 |只看該作者
my ($repl_status) = @_;
my $repl_status = @_;
兩個調(diào)用函數(shù)這里不同,my 不加括號是 scalar context。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-03-24 16:25 |只看該作者
my ($repl_status) = @_;
my $repl_status = @_;
兩個調(diào)用函數(shù)這里不同,my 不加括號是 scalar context。
zhlong8 發(fā)表于 2011-03-24 16:16


是不是可以這樣理解,當(dāng)沒括號是 會把@_的長度 賦給了 $repl_status. 當(dāng)加了括號,就相當(dāng)于shift(@_)給了$repl_status;

測了一下my $repl_status = shift(@_) 也能工作正常。

謝謝高手的指點(diǎn)。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
5 [報(bào)告]
發(fā)表于 2011-03-24 16:31 |只看該作者
是不是可以這樣理解,當(dāng)沒括號是 會把@_的長度 賦給了 $repl_status. 當(dāng)加了括號,就相當(dāng)于shift(@_)給 ...
Coolriver 發(fā)表于 2011-03-24 16:25



    shift 有副作用,不能說完全相等。別的都正確

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-03-24 16:33 |只看該作者
仔細(xì)又閱讀了數(shù)據(jù)和列表的轉(zhuǎn)換。加那個括號,就是把一個變量轉(zhuǎn)換成列表中的一個值。

不加括號是一個標(biāo)準(zhǔn)備變量。

如:my ($r, $d) = @_;  == $r = $_[0] ; $d =$_[1] 這樣的性質(zhì)。

謝謝 zhlong8 一語道破天機(jī)。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP