推 dm4:foreach (@arr) {dosomething if expr;} 如何 05/12 17:53
→ dryman:現在就是這樣寫,不過不知道能不能有省略一堆括號的寫法 05/12 17:59
推 zard1989:map { dosomething } grep { expr } @arr; 05/12 19:17
→ dryman:我發現我程式描述的不明確(汗) 05/12 21:48
→ dryman:$maxvec=$_ if &norm($maxvec) > &norm($_) foreach @vecs; 05/12 21:49
→ dryman:我的輸出資料是scalar而不是array.. 05/12 21:51
推 CindyLinz:scalar map { dosomething } grep { expr } @arr; XD 05/12 22:13
推 dm4:$max = (n($max)>n($_)) ? $_ : $max foreach @vecs; 呢 05/13 00:33
→ dryman:樓上強大! 05/13 00:59
→ dryman:又學了一招~ 05/13 00:59
推 giacch:&norm($maxvec) > &norm($_) and $maxvec=$_ for @vecs; 05/13 04:53
推 giacch:好怪... 這是求最大值還是最小值呀..? 05/13 05:19
推 giacch:最大值 $maxvec=(sort {&norm($b)<=>&norm($a)} @vecs)[0]; 05/13 05:23
→ dryman:啊...我貼上來的時候大小於寫錯了:P 05/13 17:12
→ dryman:sort的版本快38%~ 是否要求最大值用sort通常會比較快啊@ @ 05/13 20:22
→ dryman:因為有內建的merge sort演算法? 05/13 20:22
推 giacch:我用65536個亂數去試, 是11樓比較快耶... 記得改成小於... 05/13 21:04
推 herculus6502:噢~~;您們真是邪惡Orz 05/13 21:28
→ dryman:嗯,11樓用and最快,foreach(){}其次,<=>第三 :? 第四 05/13 21:34
推 giacch:sort的時間會隨著陣列的大小而有明顯的差異唷... 05/13 23:22
推 zarcen:dm4厲害! 05/16 18:40