Re: [問題] 排列組合
※ 引述《david220 (累)》之銘言:
: ※ 引述《abliou (Art of Life)》之銘言:
: : 這幾行程式碼真的寫的很棒..用遞迴減少很多程式碼...
: : 不過還是有一些東西小弟想了很久還是不能參透....
: : 不知道能不能請高手為小弟指點一下....真的感激不盡!!
: : 這是我的第一個疑問...就是這邊open的用法...它會對那一個檔打開??
: : 另外這邊為什麼沒有filehandling?
: open是開shift的return value
: $a才是file handle
非常感謝您的指教!!這邊我就瞭解了....
: : 接這就是這一行....我很不了解這一行的程式運作方式...
: : 而且當中用了很多逗號...我很想了解到底逗號的使用時機跟限制到底是如何?
: 那一行大約等同
: for (split /\s/, <$a>) {
: push(@a, $_);
: (@_ && a(@_) || print "@a\n");
: pop @a;
: }
在comma這邊我也有想過您所講的意思....所以我用了以下兩種不同的程式碼測試
======以下為comma.pl=====
@a=("a");
push @a,$_ , $a++ , print @a,$/,$a,$/ for (0..3);
======回傳===============
a
1
a001
2
a001111
3
a001111221
4
=====以下為comma2.pl=====
@a=("a");
for (0..3){
push @a,$_;
$a++;
print @a,$/,$a,$/;
}
====回傳=================
a0
1
a01
2
a012
3
a0123
4
這兩段程式碼我不知道這樣的拆解是不是會有所差異...
不過按照我預期的回傳comma.pl跟comma2.pl應該要一樣...
而對於comma.pl的回傳我卻完全無法理解為何會如此....
: 注意@a是global
: : 有試著去實做和查資料..但是都途勞無功...所以在此請教高手們...
: : 感謝高手們的指教..因為小弟正在當兵..可能沒有辦法為教導的高手們提出即時的感謝
: : 但小弟有放假一定會來道謝....
: : 先在這邊謝過各位高手了...
: 這段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: 122.123.196.66
推
03/01 14:14, , 1F
03/01 14:14, 1F
→
03/01 14:15, , 2F
03/01 14:15, 2F
→
03/01 14:15, , 3F
03/01 14:15, 3F
→
03/01 18:27, , 4F
03/01 18:27, 4F
→
03/01 18:32, , 5F
03/01 18:32, 5F
→
03/01 18:33, , 6F
03/01 18:33, 6F
→
03/01 18:37, , 7F
03/01 18:37, 7F
討論串 (同標題文章)