作者david220 (累)
看板Perl
标题Re: [问题] 排列组合
时间Fri Feb 29 23:54:08 2008
※ 引述《abliou (Art of Life)》之铭言:
: 这几行程式码真的写的很棒..用递回减少很多程式码...
: 不过还是有一些东西小弟想了很久还是不能参透....
: 不知道能不能请高手为小弟指点一下....真的感激不尽!!
: ※ 引述《LyinZ (琳子)》之铭言:
: : a(qw(ab102 ac1256 ef698 ed23));
: : sub a{
: : my $a;
: : open $a, shift;
: 这是我的第一个疑问...就是这边open的用法...它会对那一个档打开??
: 另外这边为什麽没有filehandling?
open是开shift的return value
$a才是file handle
: : push(@a, $_), (@_ && a(@_) || print "@a\n"), pop @a for( split /\s/, <$a> );
: 接这就是这一行....我很不了解这一行的程式运作方式...
: 而且当中用了很多逗号...我很想了解到底逗号的使用时机跟限制到底是如何?
那一行大约等同
for (split /\s/, <$a>) {
push(@a, $_);
(@_ && a(@_) || print "@a\n");
pop @a;
}
注意@a是global
: : close $a;
: : }
: 有试着去实做和查资料..但是都途劳无功...所以在此请教高手们...
: 感谢高手们的指教..因为小弟正在当兵..可能没有办法为教导的高手们提出即时的感谢
: 但小弟有放假一定会来道谢....
: 先在这边谢过各位高手了...
这段code开了(ab102 ac1256 ef698 ed23)这四个档案
档案里面的资料用tab隔开
虽然我看本来的题目似乎是只有一个档案,内容为
ab102\t11,01,65,99,68,78
ac1256\t01,23,41,65,74,63,26
ef698\t02,13,56,07,09
ed23\t32,05,06,23
不过,也有可能是我搞错就是了 ^^"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.29.163