看板 [ Perl ]
討論串[問題] 將很像hash形式中的值相加?
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 1→)留言1則,0人參與, 最新作者kornelius (c9s)時間16年前 (2009/04/25 02:19), 編輯資訊
0
0
0
內容預覽:
if 少了 "}". perl5 還沒有這麼聰明能夠直接 keys %hash == keys %hash 唷。. 另外 while( keys %KV ) 實際上 while 需要的是一個 boolean context 和 for 是不. 一樣的。所以你在 keys %KV 的 key 並不會放
(還有351個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者kornelius (c9s)時間16年前 (2009/04/25 01:37), 編輯資訊
0
0
0
內容預覽:
不需要裝 package 呀。 qw( ) 的定義你查一下 perldoc. perldoc -f qw. 是用空白將字串分割成串列。. 所以當你用上面的作法,你實際上會得到. ('ks*5' , 12 , 'pp*5' , 3);. 我前面那段用的模組也只是 Data::Dumper::Simpl
(還有64個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者adu (^_^)時間16年前 (2009/04/25 00:40), 編輯資訊
0
0
0
內容預覽:
由於沒有裝package,所以打算把資料寫入@array去做. @array = qw{ks*5 12 pp*5 3};. my %h;. while (@array) {. my ($k,$v) = m/\w\w\*(\d)\s(\d)/;. $h{ $k } ||=0, $h{ $k }+=$v
(還有238個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者kornelius (c9s)時間16年前 (2009/04/24 01:58), 編輯資訊
0
0
0
內容預覽:
try this?. s/\w\w\*(\d)\s(\d)/ $h{$1}+=$2 /e while( <DATA> );. use Data::Dumper::Simple;. warn Dumper( %h );. __DATA__. VD*5 3. YY*3 4. Qv*5 2. pQ*3 1
(還有73個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者adu (^_^)時間16年前 (2009/04/24 01:22), 編輯資訊
0
0
0
內容預覽:
標題訂的很奇怪...因為我想不到該如何形容這樣的問題(和解決). 我的檔案資料形式是由"英文字*數字 數字"所組成的,如. VD*5 3. YY*3 4. Qv*5 2. pQ*3 1. .... 前面的英文字和*不管他,如果第一個數字相同,就把第二個數字相加. 就像上面的例子會變成. *5 5 (
首頁
上一頁
1
下一頁
尾頁