免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2576 | 回复: 4
打印 上一主题 下一主题

无名数列和数列中的元素如何区别  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-06 18:13 |只看该作者 |倒序浏览
看了intermediate perl一书,看了无名数列,看得有点晕,想问一下无名数列和数列中的元素是如何区别的.比如以下的例子
题目是要求把数列中的各元素自身的和是奇数的元素找出来.用grep进行查找
my @input_numbers = (1, 2, 4, 8, 16, 32, 64);
my @indices_of_odd_digit_sums = grep {
    my $number = $input_numbers[$_];     #这里的$input_numbers[$_],是无名数列 还是数列@input_numbers下的一个元素,如何区别?
    my $sum;
    $sum += $_ for slipt //, $number;         #从这一句来看$numbers是无名数列里面只含有一个元素$_,然后对这个只有一个元素的数列(),进行分隔,比如16进行分隔后成1和6,用for 先取一个数字1赋值给$_再将它和sum相加所得sum再赋给sum,不知道这样理解对吗?然后下面还有一个例子,那里的$x[$_]和$y[$_]是什么,是@x和@y的一个元素吧,还是无名数列呢?搞不懂???

    $sum % 2;
} 0..$#input_numbers;


第二个例子找出@x中比@y中大的元素,
my @bigger_indices = grep {
    $_ > $#y or $x[$_] >$y[$_];    #这里的$x[$_]和$y[$_]是什么,是@x和@y的一个元素应该吧?那上面一题的$input_numbers[$_]为什么是无名数列呢?
} 0..$#x;
my @bigger = @x[@bigger_indices];


帮帮忙看看吧,我刚初学编程,希望能得到大家的帮助,谢谢.

论坛徽章:
0
2 [报告]
发表于 2007-08-07 10:54 |只看该作者
你在搞啥东东哟,赶紧看看啥叫“无名数列”,我猜你说的是“匿名数组”吧,不过你给的例子都和这没关系的。
无论$x[$_],还是$x[$y],都是数组的一个元素,和这个元素的索引是$_还是$y没有关系。
建议:
  • 弄清匿名数组的概念;
  • 弄清grep的用法;
  • 弄清$_的含义。

论坛徽章:
0
3 [报告]
发表于 2007-08-07 14:05 |只看该作者
是啊,全是数组元素的用法,和匿名数组数组完全没有关系

论坛徽章:
0
4 [报告]
发表于 2007-08-09 09:19 |只看该作者
不可能和匿名数列没关系,那第一题的$sum += $_ for slipt //, $number;这个语句和匿名数列有关系吧.不可能是一个元素,对一个元素使用for那又是什么意思?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2007-08-09 10:29 |只看该作者
原帖由 sitinl 于 2007-8-9 09:19 发表
不可能和匿名数列没关系,那第一题的$sum += $_ for slipt //, $number;这个语句和匿名数列有关系吧.不可能是一个元素,对一个元素使用for那又是什么意思?

啥叫“匿名数列”?
英文怎么称呼?
无论是台湾还是大陆,都没有这个叫法。既然你要交流,用词首先要规范。

for 后面跟的是一个列表(list),而不是数组(array),更不是什么数列。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP