1 名前:名無しさん@お腹いっぱい。 [01/12/15 03:41 ID:43dxFG56] 結局自分で作ればいいんだが、 標準で「これがあれば便利なのに・・・」 と思う関数は、どんなもの? 便宜的に名前をつけて、仕様を説明してみてくれ。
83 名前:ぺるにゃん [02/04/28 20:10 ID:gfGqCBjT] sort のお話ですにゃ。 今の Perl は、巨大な配列を sort すると、効率が悪くなります;; @sorted = sort(@array); @array の要素数が増えるにしたがって、処理時間が爆発します。 これは Perl の sort() 関数が、効率の悪いアルゴリズムを 使っているせいでしょうか? かんたんな実験により、配列の要素数 を N とすると、perl の sort() 時の 比較回数はおよそ N * log N 回のオーダーという結果がでました。これは、 配列が 100 万要素だったとしても、たかだか N の20倍程度の比較回数にすぎません。 おそらくは最高レベルの効率です。私はこれに文句をつけることはできません。 では、sort() 自体は実用じゅうぶん速いのに、 なぜ上の1行は爆発的に遅くなるのでしょうか?試しにこう書いてみました。 sort(@array); これは@array が100万要素を超えていても、じゅうぶん高速でした。 (当然、ボイドコンテキストなので、結果は捨てられるので、意味はありません) ということは、巨大な配列の「複製」のために、ものすごく時間を 取られているということです。それはありうることです。 ソート結果を直接 @array に代入してしまう関数があれば、 これは解決できると思います。そういう sort関数を希望ですにゃ。 ( 私は ruby 使いじゃないのですが、 ruby には、「破壊的 sort」が用意されているらしいんですねぇ・・・ さすがにゃ)
84 名前:nobodyさん mailto:age [02/04/28 22:06 ID:???] switch欲しい…… サブルーチンで作ってみようと努力したが構造的に不可能だった鬱
85 名前:_gunzip@訂正歓迎 mailto:鬱だ...。 [02/04/28 22:16 ID:???] >>83 Exegesesを見る限り、destructive sortがPerl6に取り込まれる可能性はなさそう。 >>84 Perl5では、外部モジュールで。 search.cpan.org/search?dist=Switch Perl6では、givenという名前で組み込まれる予定です。 (switchと命名されなかったのは、C/C++/Javaのswitchとは違うということを際立たせるためだそうで) www.perl.com/pub/a/2002/01/15/apo4.html?page=2#rfc%20022:%20control%20flow:%20builtin%20switch%20statement 用例 www.perl.com/lpt/a/2002/04/01/exegesis4.html 欲張りすぎて、ちょっとわかりににくひ。(組み合わせが23通りもあるのかよ...)
86 名前:nobodyさん [02/04/29 11:52 ID:5LS+M/ng] うるせーバカ。 初心者は黙ってろ スレのレベルが下がる
87 名前:nobodyさん mailto:sage [02/04/29 12:30 ID:???] >>86 ←典型例
88 名前:nobodyさん [02/04/29 12:32 ID:5LS+M/ng] >>87 必死だな。誰かさん(大爆笑)
89 名前:nobodyさん mailto:sage [02/04/29 14:52 ID:???] >(大爆笑) ヤフーに帰れ
90 名前:nobodyさん [02/04/29 19:01 ID:NmdFgil6] >>89 必死だな。誰かさん(大爆笑)
91 名前:ロボ鉄 ◆MGTy6iYI mailto:ここは誰かさんリレースレとなりましたw [02/04/29 19:09 ID:???] >>90 必死だな。誰かさん(大爆笑)
92 名前:nobodyさん [02/04/29 19:17 ID:NmdFgil6] >>91 必死だな。誰かさん(大爆笑)
93 名前:nobodyさん mailto:sage [02/04/29 20:07 ID:???] >>92 乙武必死だな(藁
94 名前:乙武 mailto:sage [02/04/29 21:16 ID:???] 必死で生きてますが何か?
95 名前:nobodyさん [02/04/29 21:43 ID:NmdFgil6] (゚Д゚)ハァ? しねばぁ?
96 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
97 名前:not 83 [02/04/30 11:53 ID:9z6SUNiy] >>85 > Exegesesを見る限り、destructive sortがPerl6に取り込まれる可能性はなさそう。 そうなんですか。むむー。 せめてsortを多重定義できればいいんですがねぇ。tieのSORTでもいいですが。 それにしても新構文はかなり奇怪ですなあ。 ↓かなり驚きましたよ。 if @array =~ $elem {...} # true if @array contains $elem if $key =~ %hash {...} # true if %hash{$key} if $value =~ (1..10) {...} # true if $value is in the list if $value =~ ('a',/\s/,7) {...} # true if $value is eq to 'a' # or if $value contains whitespace # or if $value is == to 7
98 名前:nobodyさん [02/05/01 04:48 ID:HoZj1fyx] 標準関数よりも、標準ライブラリを充実させて欲しい シェルもろくに使えない奴らに「複雑な設定が必要」なんて言われもない 批判を受けるのはもういやだ。
99 名前:nobodyさん [02/05/01 23:31 ID:ZTriJMsX] 女性の股を開く関数。 もしくは、チョンを殺してくれる関数。
100 名前:nobodyさん mailto:sage [02/05/01 23:34 ID:???] >>98 これ以上ブクブク太らせて楽しい?
101 名前:nobodyさん [02/05/02 04:25 ID:Opu6NMoF] >>97 しんだらぁ?
102 名前:ぺるにゃん mailto:sage [02/05/03 05:12 ID:???] >>85 そうにゃんだ。残念。 でも明快なお答えをありがとう。 >>100 ぜい肉をとるために、getほにゃららっていう network 関連の関数を モジュールに追い出すべきという意見はどうでしょう。
103 名前:nobodyさん mailto:sage [02/05/03 13:14 ID:???] ・ネットワーク関連の関数をモジュールに追い出し ・数学関数をモジュールに追い出し ・format writeはイラネーヨ
104 名前:nobodyさん mailto:sage [02/05/05 19:28 ID:???] いっそのこと関数全部モジュールに追い出してしまえ!
105 名前:nobodyさん mailto:sage [02/05/05 20:11 ID:???] >>104 C言語ライクで良い感じですな。
106 名前:nobodyさん [02/05/06 21:30 ID:uN5rTlAV] >>100 痩せすぎているので、少しは太れよってみんなから言われるよ
107 名前:nobodyさん [02/05/07 20:48 ID:NQEaYM+J] sage
108 名前:nobodyさん mailto:sage [02/05/08 13:20 ID:???] そういうセリフ吐く奴ってoffで合うと大概口だけいかにももててますアピールの きもい系のヤシなんだよねw
109 名前:nobodyさん mailto:sage [02/05/08 19:53 ID:???] /bin/grepを呼ぶのにエスケープの手間がかかるんで ファイルからgrepする関数が欲しい。 @res = fgrep(/hoge/, /\.log$/,"/var/log/"); みたいな。
110 名前:nobodyさん mailto:sage [02/05/08 20:18 ID:???] >>109 それこライブラリの仕事だろ。 それ以前にgrepとfgrepという全く別の関数が存在することも大いに問題だし。 どうしてもというならShell.pmでも使っとけ。 #!/bin/perl use Shell qw(fgrep); $ENV{PATH} = '/bin'; @res = fgrep 'hoge', '/var/log';
111 名前:nobodyさん mailto:sage [02/06/24 20:29 ID:???] 今は Time::Local があるからまあ許すが その昔なぜ localtime が標準で実装されてて timelocal がなかったのか不思議だ。
112 名前:nobodyさん [02/11/25 09:32 ID:ftkefb9E] Thread.pmがActivePerlでまともに使えるようになってほしい。 Perl5.8.0ではちゃんと動くのか?
113 名前:nobodyさん mailto:sage [02/11/25 20:58 ID:???] mmapを標準関数、もしくはcore moduleでおねがいぃ
114 名前:nobodyさん mailto:sage [02/11/27 00:59 ID:???] god("jpeg画像を120*120にリサイズする"); god("テキトーなデザインを出力する"); god("このソースが人に読まれない"); っていうのが欲しいです。
115 名前:nobodyさん [02/12/11 10:58 ID:00jmHk8S] CSVファイルを扱う関数。 任意の項目によるソートとかいろいろ。
116 名前:nobodyさん mailto:sage [02/12/11 22:50 ID:???] >115 DBD::CSV使えば?
117 名前:nobodyさん mailto:sage [02/12/12 07:00 ID:???] >>116 DBIモジュールが標準モジュールになったら使うよ。
118 名前:nobodyさん mailto:sage [02/12/15 16:09 ID:???] >>49 俺様の力作使ってはくれまいか? sub merge { return(@_); }
119 名前:nobodyさん [02/12/16 10:19 ID:YT4sQXgY] ↑すごいYO!
120 名前:nobodyさん mailto:sage [02/12/16 23:14 ID:???] >>118 usage: %c = merge ( %a, %b ); こんな感じ? 確かにシンプルだ……。 >>49 は、キーがかぶった場合の仕様を作らなかったから、これでもいいと言える。 勉強になります。
121 名前:nobodyさん [03/01/12 02:03 ID:qwhpCAH/] marge関数はPerl6で追加を検討しているらしい。 allabout.co.jp/computer/cgiperl/closeup/CU20010731A/index_2.htm
122 名前:nobodyさん mailto:sage [03/01/12 17:53 ID:???] use Benchmark; timethis(20000, sub{ -f 'index.html'}); exit; timethis 20000: 10 wallclock secs ( 9.77 usr + 0.00 sys = 9.77 CPU) @ 2047.08/s (n=20000) 遅すぎ、、、 もっと速くしてくれ。
123 名前:nobodyさん [03/01/12 19:13 ID:bGDRedPP] >>49 >書いても3行なんですけどね。 %c = ( %a, %b ); どこらへんに三行要るんだろう?
124 名前:ぺるにゃん [03/01/12 19:22 ID:3H9ULczA] >>122 これは、 OSに処理を依頼しているわけですから、 どの言語でやっても遅くなると思いますよ。
125 名前:122 mailto:sage [03/01/12 19:27 ID:???] >>124 そうなのですか、、、 うぅ、残念です。
126 名前:ぺるにゃん [03/01/12 21:03 ID:3H9ULczA] >>123 元質問のひとは、一時的にメモリにギュバーっと展開しちゃうのは 嫌なのではないでしょうか
127 名前:nobodyさん [03/01/13 00:18 ID:KvjrngEn] Perlはじめたころ println() が欲しかった。 今でも欲すぃ
128 名前:nobodyさん mailto:sage [03/01/13 01:32 ID:???] php() PHPが使える関数
129 名前:nobodyさん [03/01/13 02:03 ID:/r5THG1/] ていうか ネットワーク関連のいらない関数ステロ!
130 名前:nobodyさん [03/01/13 05:39 ID:9OqkABMV] Math.max() Math.min()
131 名前: ◆hMJAPH9PWA mailto:sage [03/01/14 10:29 ID:???] 5.8で標準モジュールに追加されたList::UtilとScalar::Utilは便利なんだけど、 Scalar::Utilは実装のほとんどをList::Utilに頼ってるんだから、 一緒にしてUtilityとでもすればよかったと思う。 >>121 mergeってC++のSTLにあるような関数だと思うけど。 >>129 そうだね、どうせuse Socketしないとまともに使えないんだから、 Socketモジュールに入れても混乱は少ない気がする。
132 名前:nobodyさん mailto:sage [03/01/14 21:29 ID:???] >>130 Math.mid()はいらんのか?
133 名前:山崎渉 mailto:(^^)sage [03/01/15 13:33 ID:???] (^^)
134 名前:nobodyさん mailto:sage [03/01/27 21:06 ID:???] Math.ave()
135 名前:山崎渉 mailto:(^^) [03/03/13 17:49 ID:???] (^^)
136 名前:山崎渉 mailto:(^^) [03/04/17 12:14 ID:???] (^^)
137 名前:山崎渉 mailto:(^^)sage [03/04/20 06:19 ID:???] ∧_∧ ( ^^ )< ぬるぽ(^^)
138 名前:山崎渉 mailto:(^^) [03/05/22 02:20 ID:???] ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
139 名前:nobodyさん mailto:sage [03/05/22 22:45 ID:???] PHPのurlencode htmlspecialchrs nl2br っていうか、自分でこしらえたけど
140 名前:nobodyさん mailto:sage [03/05/25 07:07 ID:???] use CGI
141 名前:山崎渉 mailto:(^^) [03/05/28 17:10 ID:???] ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
142 名前:山崎 渉 mailto:(^^) [03/07/15 11:24 ID:???] __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
143 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:29 ID:???] ∧_∧ ( ^^ )< ぬるぽ(^^)
144 名前: ◆3EsfZv7LPw mailto:sage [03/09/02 16:50 ID:???] けっとばすぞ〜
145 名前:nobodyさん mailto:age [04/01/09 07:38 ID:???] 塗る歩禁止!
146 名前:nobodyさん [04/12/21 18:37:46 ID:Ctl+24VT] 配列の要素の最大値や最小値を返す関数とか。 あったっけ。
147 名前:nobodyさん mailto:sage [04/12/22 05:24:08 ID:???] 今の関数使えたらなんでもいいけど PHPの真似だけはしてほしくないね
148 名前:nobodyさん mailto:sage [04/12/24 19:51:15 ID:???] >>146 List::Util でいいじゃん。
149 名前:nobodyさん mailto:sage [04/12/28 23:22:04 ID:???] どんな改行コードでもchompしてくれる関数。 ・・・ってか、自作した。
150 名前:nobodyさん mailto:sage [05/01/01 22:52:21 ID:???] >>149 そんな関数いらね
151 名前:nobodyさん mailto:sage [05/01/02 20:00:36 ID:???] >>150 漏れの場合、なければ仕事にならん・・・。
152 名前:nobodyさん mailto:sage [05/01/02 23:43:57 ID:???] >>151 いらないと言ったのは わざわざPerl側で用意するほどの関数ではないという意味だ
153 名前:nobodyさん mailto:sage [05/01/03 13:01:46 ID:???] >>152 なるほど 確かに簡単な処理で何とかなるが、速度面が心配でな・・・。 chompのリプレースって事ならあってもイイと思ったんだが、どうよ。
154 名前:nobodyさん mailto:sage [05/01/05 09:38:00 ID:???] >>153 確かに今使ってるのよりも処理が速くなればそれに越したことはないな ただPerl側であまり用意すると便利な反面、コードの理解力を落とすから そのバランスだよね
155 名前:nobodyさん mailto:sage [05/01/05 19:07:56 ID:???] select関数をどうにかしてほしい
156 名前:nobodyさん [2005/07/20(水) 19:33:05 ID:JCdrAQ5o] >>118 sub merge {}
157 名前:nobodyさん mailto:sage [2005/07/25(月) 15:46:43 ID:???] sub make_money { my $chobitto = shift; my $gossori = $chobitto ** 1000000; return $gossori; } 一番の問題はどうやって関数にお金を渡すかだ。
158 名前:nobodyさん mailto:sage [2005/07/25(月) 20:28:47 ID:???] おっさん
159 名前:nobodyさん [2005/07/25(月) 22:38:22 ID:63FLM844] 夜のおかずになってくれる関数。
160 名前:nobodyさん mailto:sage [2005/07/28(木) 02:53:11 ID:???] 新しく標準で欲しい関数は無いけど、 新しく標準で欲しいクラス、パッケージは沢山ある。
161 名前:nobodyさん mailto:sage [2005/07/28(木) 15:30:00 ID:???] 標準で欲しい関数は無いけど、モジュールに追い出してほしい関数なら沢山ある。 ソケット・ネットワーク関連(どうせuse Socketしないとまともに使えない) get* set* 系(getpwentなど。Windowsじゃ意味ねー。こういうものこそモジュールの仕事だろ) フォーマット関連(おかげでwrite()が無駄に予約語に…) セマフォ関連(これもモジュールで対応してくれ) このくらい削ればプロセスサイズも大分小さくなって起動が早くなりそうだ。
162 名前:nobodyさん [2005/10/11(火) 04:25:38 ID:hXdkdtTb] Shift_JIS で書かれた文字列を chomp($_ = <<'END'); こちょ♪こちょ♪ END とせずに済む関数
163 名前:nobodyさん mailto:sage [2005/10/12(水) 02:12:56 ID:???] >>162 それsjisじゃなくてWindowsの仕様だぞ・・・
164 名前:nobodyさん mailto:sage [2005/10/12(水) 02:47:54 ID:???] >>162 できましたー。 use encoding qw(shiftjis); # え、これと違う?
165 名前:nobodyさん mailto:sage [2005/10/12(水) 08:19:58 ID:???] 次期PHPってParrot採用との噂は本当なん?
166 名前:nobodyさん mailto:sage [2005/10/12(水) 17:07:16 ID:???] その噂ってparrotが2002頃に出るって言われてた頃のだよね。
167 名前:nobodyさん mailto:sage [2005/12/19(月) 02:00:37 ID:???] 暗号化復号化
168 名前:nobodyさん [2008/01/23(水) 19:13:31 ID:S4Tcgs5g] もはや2年前の記事か・・・