[過去ログ] Perlについての質問箱 64箱目 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
勉強になるというか、どこで学んだの
225: 2020/02/19(水)19:52 ID:SoQYbBiO(1) AAS
>>219
書かないから心配するな!
1+1と同じレベルだからな!
226(1): 2020/02/19(水)20:07 ID:pJACNDga(2/2) AAS
そういう思想の馬鹿しかおらんからperlは廃れたんだよ。
227(3): 2020/02/19(水)20:07 ID:zh3CM0eN(1/2) AAS
if (defined $table{$var}) {
$var = $table{$var};
}
みたいな処理
「何か」に対して判定した結果に従ってその「何か」を採用する
何かを2回書くのが嫌な時の逃げ方は何だろう
228: 2020/02/19(水)20:12 ID:1DPeZovD(1) AAS
リストの要素数を得るために空リストに代入するのも慣用句と読んでいいかな?
$n = (() = <*>);
みたいの。
229: 2020/02/19(水)21:01 ID:zh3CM0eN(2/2) AAS
要素数なんてどうせループにしか使わないので、
そんなのを取得しない解決がきっとエレガント
pythonの何でもイテレータ思想はきっと正しい
230: 2020/02/19(水)21:35 ID:bGX6osz8(1) AAS
>>227
これはあるね しばし考えるんだけど結局一時変数を使う
構造によっては$_が使える時もあるんだけどまれだなあ
231(1): 2020/02/19(水)21:45 ID:mEonuRdN(2/2) AAS
>>226
じゃあRubyやらC#やらも滅びるんやな。w
ハッシュのある言語ではあたりまえのイディオムやろが。
上下前次1-新書関写板覧索設栞歴
あと 771 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s