URN Logo
UNIX Resources » Linux » China Linux Forum » Perl 编 程 » 4 » 多个参数怎么传给子函数
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
多个参数怎么传给子函数
多个参数怎么传给子函数 - taoshen [2004-08-31 16:09 | 62 byte(s)]
 
Re: 多个参数怎么传给子函数 - redcandle [2004-09-01 01:36 | 103 byte(s)]
 
Re: 多个参数怎么传给子函数 - taoshen [2004-09-02 18:30 | 440 byte(s)]
 
Re: 多个参数怎么传给子函数 - yanglii [2004-09-02 18:55 | 388 byte(s)]
 
Re: 多个参数怎么传给子函数 - taoshen [2004-09-02 22:06 | 523 byte(s)]
 
Re: 多个参数怎么传给子函数 - yanglii [2004-09-02 22:52 | 353 byte(s)]
 
Re: 多个参数怎么传给子函数 - taoshen [2004-09-03 09:44 | 104 byte(s)]
 
Re: 多个参数怎么传给子函数 - yanglii [2004-09-03 10:31 | 44 byte(s)]
 
Re: 多个参数怎么传给子函数 - taoshen [2004-09-02 21:42 | 77 byte(s)]
 
Subject: 多个参数怎么传给子函数
Author: taoshen    Posted: 2004-08-31 16:09    Length: 62 byte(s)
[Original] [Print] [Top]
子函数sub function 怎么接受 上层传下来的参数呢(parameter)?
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: redcandle    Posted: 2004-09-01 01:36    Length: 103 byte(s)
[Original] [Print] [Top]
传递给子程序的参数都放在一个数组中,即@_
$_[0],即是参数中的第一个,其余类推.

[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: taoshen    Posted: 2004-09-02 18:30    Length: 440 byte(s)
[Original] [Print] [Top]
谢谢楼上的回答。还有个小问题。比方

if( ){
$_[$num]="filename.$Num"; # $Num是自然数
&f1(@_);

}

sub f1{
my $filename=@_;
print "$filename";
}

这样print出来的$filename 总是自然数“1,2,3,”,不是预想的“filename.1,filename.2 filename.3”

这是为什么呢?
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: yanglii    Posted: 2004-09-02 18:55    Length: 388 byte(s)
[Original] [Print] [Top]
LIKE THIS:


if( ){
$_[$num]="filename.$Num"; # $Num是自然数
&f1(@_); # 这里想干嘛呀?

}

sub f1{
my ($filename)=@_; # 得到参数,必须是数组的形式
print "$filename";
}


哎,先看看课本吧!!!
没法讲。
----
-------------
过去心不可得,现在心不可得,未来心不可得
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: taoshen    Posted: 2004-09-02 21:42    Length: 77 byte(s)
[Original] [Print] [Top]
楼上
my ($filename)=@_; my 后加 ()我试过,还是print不出$filename.
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: taoshen    Posted: 2004-09-02 22:06    Length: 523 byte(s)
[Original] [Print] [Top]
还有你说的

“ &f1(@_); # 这里想干嘛呀? “ 我的思路是这样的
for(){
$_[$num]="filename.$Num" # 在这个for循环下,构造$_这个数组。
&sub_func1( @_ ); #这里子函数的参数就是上句刚构造的数组的第N个变量“filename.$Num”.例如"filename.10"

}

还有,要是还有个sub_func1,它也要传个参数,&sub_func2 (@_ )。会不会和&sub_func2(@_)混淆呢?
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: yanglii    Posted: 2004-09-02 22:52    Length: 353 byte(s)
[Original] [Print] [Top]
你的程序看起来很费劲,我猜想是不是这样啊:

my @fileName = ();
for(my $i=0; $i<10; $i++) {
$fileName[$i] = "filename.$i";
&f1($fileName[$i]);
}

sub f1 {
my $f = shift;
print "$f ";
}

----
-------------
过去心不可得,现在心不可得,未来心不可得
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: taoshen    Posted: 2004-09-03 09:44    Length: 104 byte(s)
[Original] [Print] [Top]
谢谢yanglii,从你的帖子我已经知道怎么解决问题了。
我接触perl时间不长,承蒙指点,谢谢.
[Original] [Print] [Top]
Subject: Re: 多个参数怎么传给子函数
Author: yanglii    Posted: 2004-09-03 10:31    Length: 44 byte(s)
[Original] [Print] [Top]
不必客气,很高兴能够对你有所帮助!
----
-------------
过去心不可得,现在心不可得,未来心不可得
[Original] [Print] [Top]
« Previous thread
如何增加button
Perl 编 程
4
Next thread »
perl 代码 请教
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 04:09:01, cost 0.05045223236084 ms.