免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2301 | 回复: 4

《Intermediate Perl》中一段CODE求教!【解决】 [复制链接]

论坛徽章:
0
发表于 2008-06-11 00:45 |显示全部楼层
谁能帮讲讲这段CODE?先谢过~------该CODE来自Intermediate Perl
my @input_numbers = (1, 2, 4, 8, 16, 32, 64);

my @odd_digit_sum = grep digit_sum_is_odd($_), @input_numbers;

sub digit_sum_is_odd {

        my $input = shift;
                          
        my @digits = split //, $input;  # Assume no nondigit characters

        my $sum;
   
        $sum += $_ for @digits;
        
        return $sum % 2;
}
print join "\n",@odd_digit_sum;



[ 本帖最后由 windows.li 于 2008-6-11 10:18 编辑 ]

论坛徽章:
0
发表于 2008-06-11 09:49 |显示全部楼层
my @input_numbers = (1, 2, 4, 8, 16, 32, 64);

my @odd_digit_sum = grep digit_sum_is_odd($_), @input_numbers;


我是这样理解的:判断digit_sum_is_odd($_), 若它为真,则返回$_组成的列表。
那么:默认依次判断digit_sum_is_odd(1), digit_sum_is_odd(2), digit_sum_is_odd(4)......
则:SUB中,my $input = shift;即依次处理shift 1, shift 2, shift 4......
------------貌似又不对,怪怪的.......请大家指教

[ 本帖最后由 windows.li 于 2008-6-11 09:52 编辑 ]

论坛徽章:
0
发表于 2008-06-11 10:18 |显示全部楼层
不要打我,我明白了~~
split没有看清楚,现在明白了

论坛徽章:
0
发表于 2008-06-11 10:36 |显示全部楼层
明白了就好

论坛徽章:
0
发表于 2008-06-12 13:22 |显示全部楼层
研究研究,初来乍到,包涵一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会以“架构革新 高效可控”为主题,设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。
http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP