[過去ログ] Perlについての質問箱 64箱目 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
195: 2020/02/17(月)13:17 ID:5usMQUGr(1) AAS
書いてあることを説明する必要はない。
コメントで書くのは、なぜこんなフローにしたかだ
196: 2020/02/17(月)13:21 ID:ZZZ2hHJ7(2/2) AAS
ミクロだわ恥ずかしい(´・ω・`)
197: 2020/02/17(月)15:20 ID:wTmXuXv8(1) AAS
一見すると何やってんだか分からなくてもよく辿るとスゲエなこれ天才じゃねって思うことある
自分が書いたんだけどね
198: 2020/02/17(月)20:40 ID:Y4S6wB9m(1) AAS
書くのも読むのも全然困らないようなコードしか書かないのが理想

難解な処理は、きっともっとシンプルに解決できる
199: 2020/02/17(月)22:34 ID:qx2LCmQN(2/2) AAS
現実はそうではない。
200
(4): 2020/02/18(火)20:13 ID:55IHv/fO(1/2) AAS
my @result = grep !$temp{$_}++, @list;

凄げーよね、@listをuniqにソートするコードだって。
パールならではだよね。
普通なにしてるかわからんよw
201: 2020/02/18(火)20:25 ID:2VKhUmei(1/2) AAS
それは慣用句なので割と判る
コメントくらい付けるけど
202
(1): 2020/02/18(火)20:32 ID:KQgsUf00(1/2) AAS
result = list(set(LIST))

pythonのほうが圧倒的に簡単
203
(1): 2020/02/18(火)21:09 ID:lAgti/Dg(1) AAS
>>200
これでなんでソートされるの?
204
(2): 2020/02/18(火)21:10 ID:Z1cJ/QMX(1) AAS
>>200
それじゃあソートできてないだろ

my @result = sort grep !$temp{$_}++, @list;
205: 2020/02/18(火)21:32 ID:v/AIhdlf(1) AAS
>>202
sort 使わずに sort できるなんて凄いな。
206: 2020/02/18(火)21:34 ID:55IHv/fO(2/2) AAS
>>203
>>204
ゴメンソートは関係無かった。

uniqしたくて、検索したらこれが出てきたんだけど、自分で作るなら
for文で回してif文でチェックしてpushで配列に入れる。まあ、どんな言語でも動くやつね。

パッとこのコードが書けるんならいいけど、ここで時間を掛けたくないよね。
207: 2020/02/18(火)21:48 ID:3v1Ek71E(1/2) AAS
普通のfor文で書けばよくね?w
208: 2020/02/18(火)21:53 ID:2VKhUmei(2/2) AAS
機能がはっきりしてるから、sub uniqか何かを作って言語仕様かのように書く
きっと既にあるから、コピペで済む
209
(1): 2020/02/18(火)22:00 ID:3v1Ek71E(2/2) AAS
まあ余程の理由がない限り普通はList::Util使うね
210: 2020/02/18(火)22:14 ID:2AC9Ct1n(1) AAS
ワンライナーカッケー病なんだろ
211: 2020/02/18(火)22:20 ID:KQgsUf00(2/2) AAS
ハッシュを使ってカウントするなんてperlの定石なんだが
入門書のハッシュ解説で必ず載ってるぞ
212: 2020/02/18(火)23:17 ID:aJeTcUgK(1) AAS
>>209
普通は>>204でしょ
モジュールは精査して本当に必要なものしか入れない
まあ現場次第だと思うが
213: 2020/02/19(水)00:10 ID:XDqysw2e(1) AAS
>>200
Rubyだとuniqが使えるが配列の集合演算でもできる。
result = list | []
214
(1): 2020/02/19(水)00:43 ID:6o0SSmsW(1/2) AAS
実装は面白くても実際の所普段の仕事では
わかりやすいインターフェースの関数にするから
そういう点で差はでないというね。
215
(1): 2020/02/19(水)01:02 ID:mEonuRdN(1/2) AAS
>>214
PerlやRubyなら、わざわざ関数にはしないかな。
その場でハッシュにつめてキーだけ使うとかかなりふつうだから。
216: 2020/02/19(水)01:53 ID:IHihvCy5(1) AAS
ここ人いたんだ
217: 2020/02/19(水)02:27 ID:+yXfQCpG(1) AAS
オワコンだとかすたれた言語だとか言われるけどまだまだ使われてるから
218: 2020/02/19(水)04:28 ID:UqnCT+lt(1) AAS
>>200
いや。わかる。
君もそのうちわかるようになるよ。
219
(1): 2020/02/19(水)05:39 ID:6o0SSmsW(2/2) AAS
>>215
そしてコメント書くぐらいなら関数にしろ
220: 2020/02/19(水)09:01 ID:pJACNDga(1/2) AAS
他人にわかってもらいたくないんだろう。
221: 2020/02/19(水)09:31 ID:oZi5GQ/y(1) AAS
ほら、こんなコードで実現できるんやで、
なにやってるか一見わからんやろ
説明しよか?

みたいに言いたくなったら、それは可読性が悪い証拠
222: 2020/02/19(水)12:23 ID:CZsThdPw(1) AAS
Perl慣れしていない人の事を考える必要があるなら
標準モジュールの List::Util で uniq を使えばいいし、
外部リンク[html]:perldoc.perl.org

何らかの理由で標準モジュールや XS が使えないなら
Pure-perl 実装を CPAN から拾ってくればいいし、
外部リンク:metacpan.org

実際 List::Util::PP::uniq() の中身はその手法だぞ。
外部リンク[pm]:metacpan.org

sub uniq (@) {
  my %seen;
  my $undef;
  my @uniq = grep defined($_) ? !$seen{$_}++ : !$undef++, @_;
  @uniq;
}
223: 2020/02/19(水)16:51 ID:/J962Gym(1) AAS
perl使い生きてた
224: 2020/02/19(水)18:36 ID:X6PQVyJY(1) AAS
勉強になるというか、どこで学んだの
1-
あと 778 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.014s