+ -
当前位置:首页 → 问答吧 → 如何foreach作出来1:2:3:4:5...9

如何foreach作出来1:2:3:4:5...9

时间:2010-10-05

来源:互联网

RT!

如果要是打算输出
1:2:3:4:5:6:7:8:9

必须用

    my @arr1=(1..9);
    print join(":",@arr1);print "\n";

用foreach没做出来。
print join(":",foreach(1..9));print "\n";
不行!!!


求问用foreach该怎么做??

作者: laohuanggua   发布时间: 2010-10-05

直接用
print join(';','1'..'9');print "\n";
给做出来了。真囧~~~~

作者: laohuanggua   发布时间: 2010-10-05

本帖最后由 珞水的大叔 于 2010-10-05 22:31 编辑

看来楼主不理解foreach的意思啊
foreach是个类似于for的循环结构,必须有循环体
比如:
  1. foreach(1..9){
  2.     print "$_:";
  3. }
复制代码
它相当于
  1. for(my $i =1;$i<=9;$i++){
  2.     print "$i:";
  3. }
复制代码
join函数后面跟的第二个参数必须是个列表量,这里用个foreach(1..9)是完全不靠谱的,嘿嘿
起始直接print join(":",(1..9));print "\n";就可以啦

楼主可以弄个programming perl的第三版的中文版,那个上面有比较详细的函数介绍

作者: 珞水的大叔   发布时间: 2010-10-05

回复 珞水的大叔


谢谢。大骆驼第三版买到了。过几天看看。

作者: laohuanggua   发布时间: 2010-10-05