1 名前:名無しさん@お腹いっぱい。 [01/12/15 03:41 ID:43dxFG56] 結局自分で作ればいいんだが、 標準で「これがあれば便利なのに・・・」 と思う関数は、どんなもの? 便宜的に名前をつけて、仕様を説明してみてくれ。
54 名前:名無しさん@お腹いっぱい。 [01/12/29 17:12 ID:YO8PVCNz] >>51 それはモジュールでやるべきことでしょう。さすがに。 >>49 たしかに欲しい。
55 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/29 17:19 ID:???] "Hello,world!!\n"を印字する関数。書いても1行なんですけどね。
56 名前:名無しさん@お腹いっぱい。 mailto:sage ...ワケネェ [01/12/29 18:37 ID:???] >>55 たしかに欲しい
57 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/29 19:12 ID:???] >>55 あらゆる言語で車輪の再開発がなされる部分だしね。
58 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/29 19:16 ID:???] uniq,cp,mv
59 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/29 19:20 ID:???] ビルトインクラスPerlWorldにジョークでHelloメソッドがあったら笑う。
60 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/30 00:54 ID:???] こういう事したい if $sita < $naka < $ue;
61 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/30 02:06 ID:???] >>60 Perl6でできる予定
62 名前:名無しさん@お腹いっぱい。 mailto: [01/12/30 03:14 ID:???] 関数じゃないけど、C言語みたいに、 sub funcname($val1,$val2,...,$valn){...} こういう風にサブルーティンを書けるようにしてほしい。 もちろん仮引数はローカル変数で。
63 名前:_gunzip mailto:sage [01/12/30 06:27 ID:???] >>3 Parrotの構文ツリー形式を吐くパーサを自分で書けばいいよ。 実例としてはparrot/languages/jako辺りのパーサ/コンパイラを見てくれ。 dev.perl.org/perl6/architecture ------ The parser will permit you to change its rules. Rule sets define major languages (Perl, C, Python, Java, etc.) and you can write new rules to define minor languages (Perl without $ @ % sigils, Python with curly braces, etc.). ------ >>6 Perl6 RFCでも、スレッドに関して幾つか提案がなされてるけど、 (1, 178, 185ほか)RFC185のような実装になるみたい。 RFC 185: Thread Programming Model dev.perl.org/rfc/185.html >>14 ./Configureの際に指定できるよ。 ...最近は設定プログラムにGNU Autoconfを利用した物がほとんどで、 Perlで使っているMetaconfig(by Larry Wall他)は滅多に見かけない...。 (autoconfは大抵質問してこないから楽だけど。) >>25 Perl6ではXS の代わりに Inline::* 系が標準になるので、 他言語で拡張パッケージを書くのはかなり楽になると思います。 >>41-42 >>47-48 RFC5, 102で提案されているけど、Larryは dev.perl.org/perl6/apocalypse/2 の"Inline Comments for Perl" で述べているとおり導入に消極的。 その代わりにプラグマinline_commentとかが追加されたりして。 Perl5でcppの使える環境なら-Pオプションで、コンパイル前に Cプリプロセッサに食わせてやることで実現が可能だけど。 Perl6の"is"オペーレータで同様のことが出来るかも。 if ( test1() is "checking something" && test2() is "眠いな" ) { # hogehoge }
64 名前:_gunzip mailto:sage [01/12/30 06:28 ID:???] >>43 , 50 PerlIO::TextCodecクラスみたいなのが追加されたら便利かも。 (´-`).。oO(以下↓は妄想.....) *------* #!/usr/bin/perl6 use IO; my $in = new IO::TextStream(@ARGV[0]); #Perl6の配列要素参照は@array[index] my $out = new IO::TextStream(@ARGV[1]); $in.open("r") or $out.open("w") or die "open() failed"; $*in is chomped; # 入力は自動的に改行を削除 $out.setCodec(PerlIO::TextCodec::euc_JP); # 出力はeuc-jpで、とか while (!$in.end) { my string $line = $in.readline(); # 勝手にunicode文字列に変換して$lineへ $out.writeline($line); # $outのコーデックでunicode->euc-jp自動変換 $out << codec("euc-jp") << $line << endl; # まにぴゅれーたすたいる print $out: $line.locale8bit(); #ロケールに応じたエンコーディングで出力 my $codec = new PerlIO::TextCodec("shiftjis"); print $out: $codec.fromUnicode($line); } $in.close(); $out.close(); *-----* >>49 それは無いかなぁ >>51-52 それはライブラリのお仕事かなぁ
65 名前:_gunzip@書けるの? mailto:sage [01/12/30 06:30 ID:???] >>60 Perl6では可能ですよ。詳しくは RFC025 dev.perl.org/rfc/25.html と、 Apocalypse 3<Operators> の "multiway comparisons" の項を見てね。 dev.perl.org/perl6/apocalypse/3 >>62 RFC26 dev.perl.org/rfc/26.html で提案され、Perl6で 取り入れられる予定です。Damian Conway氏のExegesis 2 "Take that! And that!" に実例が出てきます。 また、省略時パラメータは //= で行います。 ですから、例えばC++で(今書いてたコードから拝借) void QMenu::insert(const QString& text, int index = -1) { // なんやかや } をPerl6では、 sub QMenu::insert(string $name is constant, int $index //= -1) { # なんやかや } と書けます。
66 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/30 11:50 ID:???] >>65 良くわからんけど、仮引き数は全部constになるのかな つまり、内部的に実引き数へのポインタが@_で@_へのポインタが 仮引き数になるけど、仮引き数のプロパティはconstantになるとか何とか・・・・ んー、結構良いけど何となく嫌 (^ー^; Damian 氏はC++ファンなんだろうか・・・
67 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/30 16:53 ID:???] >>64 Perl5でも同じことが出来ませんか。
68 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/30 16:58 ID:???] できる。それぐらいは分かってるだろ。
69 名前:名無しさん@お腹いっぱい。 [01/12/30 18:00 ID:neJVFUng] >>64 げげ、Perl6 で配列要素の参照方法変わるんですか...
70 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/30 22:41 ID:???] 標準でってことですか。失敬。
71 名前:1=東京kitty mailto:dd [01/12/30 23:25 ID:???] 結構続いてるな(ぷっ
72 名前:名無しさん@お腹いっぱい。 [02/01/03 15:02 ID:2yvOBGYW] 本物の匿名型グロブを返すgensym()が欲しい。 いやなんとなく。
73 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/03 16:00 ID:???] もうすこし精度の良い乱数が欲しい。
74 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/03 19:37 ID:???] >>73 www.math.keio.ac.jp/~matumoto/mt.html なんかがよさげですね。。C,C++の標準関数になればみんな幸せになりそうですが・・
75 名前:名無しさん@お腹いっぱい。 mailto:age [02/01/17 02:17 ID:???] あげ
76 名前:469 mailto:あえらえらえry [02/04/21 09:11 ID:???] コテハンってウザイね。
77 名前:nobodyさん [02/04/21 10:45 ID:mSKVAdKd] >>49 %a=(%b,%c); じゃだめか?
78 名前:nobodyさん mailto:sa\x00ge [02/04/21 16:42 ID:???] コテハンってウザイね。
79 名前:nobodyさん mailto:sage [02/04/21 16:47 ID:???] >>78 チャンチャラチャンチャラ (⌒) / (^ @^) - (⊃⊂) ヽ オッカシー (⌒) / (・ @^) - ○( ⊂) ヽ
80 名前:nobodyさん mailto:sage [02/04/21 17:38 ID:???] #include "perl6.h" #include "perl6/dbi.h" // usage: program perl-expr files int main(int argc, char** argv){ PERL6_MAIN_BEGIN; Perl::SV dbh = Perl::DBI::connect("dbi:foo:bar.db"); Perl::SV sth = dbh->prepare("SELECT * FROM hoge"); sth->execute(); Perl::SV row; while(row = sth->fetchrow_arrayref){ Perl::println(Perl::join(" ", row)); } sth->finish(); dbh->disconnect(); PERL6_MAIN_END; return 0; }
81 名前:nobodyさん mailto:shr [02/04/21 18:15 ID:???] >>80 それは何? C/C++のコードではないようだし。
82 名前:81 mailto:sage [02/04/21 18:37 ID:???] C++だった。ハズカシ
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側であまり用意すると便利な反面、コードの理解力を落とすから そのバランスだよね