[過去ログ]
Perlについての質問箱 64箱目 (1002レス)
Perlについての質問箱 64箱目 http://mevius.5ch.net/test/read.cgi/tech/1548981877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
395: デフォルトの名無しさん [sage] 2020/04/22(水) 13:25:13.88 ID:gkB+0fgm @array = ($str =~ /(PAT1).+?(PAT2).+?(PAT3)/g); みたいにすると、パターン3つ分が配列に入るけど、他にもマッチするとそれも続けて入る できれば2次元配列になって欲しい そんな技はある? http://mevius.5ch.net/test/read.cgi/tech/1548981877/395
396: デフォルトの名無しさん [sage] 2020/04/22(水) 18:47:25.28 ID:WLkEu+yG そういうことをする時のセオリーはスカラコンテキストで $str =~ /\G$pat/g http://mevius.5ch.net/test/read.cgi/tech/1548981877/396
397: デフォルトの名無しさん [sage] 2020/04/22(水) 19:29:55.51 ID:gkB+0fgm 可能? $str = '1a2b3c1x1d2e3f1g2h3i'; を与えられて [[a, b, c], [d, e, f], [g, h, i]] を得るにはどうすれば http://mevius.5ch.net/test/read.cgi/tech/1548981877/397
398: デフォルトの名無しさん [sage] 2020/04/22(水) 20:38:21.44 ID:f6F85tCk my @arr = (); while ($str =~ /\G.+?([a-z]).+?([a-z]).+?([a-z])/g) { push @arr, [$1, $2, $3]; } http://mevius.5ch.net/test/read.cgi/tech/1548981877/398
399: デフォルトの名無しさん [sage] 2020/04/22(水) 20:54:42.93 ID:gkB+0fgm [[a, b, c], [x, d, e], [f, g, h]] になっとるよ http://mevius.5ch.net/test/read.cgi/tech/1548981877/399
400: デフォルトの名無しさん [sage] 2020/04/22(水) 20:56:31.77 ID:gkB+0fgm でも判った 普通に$1使えばいいだけか 結果を一つずつスカラに取るんだと思ってた http://mevius.5ch.net/test/read.cgi/tech/1548981877/400
401: デフォルトの名無しさん [sage] 2020/04/22(水) 21:01:22.02 ID:gkB+0fgm /\G.*?1(.)2(.)3(.)/g これがやりたかったこと http://mevius.5ch.net/test/read.cgi/tech/1548981877/401
402: デフォルトの名無しさん [sage] 2020/04/22(水) 21:27:03.82 ID:gkB+0fgm 結局コードはあんまり変わらなくて、ループで push @array, ($1, $2, $3) にするか、後で splice(@elements, 0, 3) を使っていくかの違い パターンを3つから4つに増やした時に、 $4を追加するか、3を4に増やすかのメンテはやっぱり必要 いきなり2次元配列が得られるスマートさからは劣る http://mevius.5ch.net/test/read.cgi/tech/1548981877/402
403: デフォルトの名無しさん [sage] 2020/04/22(水) 21:30:34.59 ID:WLkEu+yG どうやら今回は必要ないみたいだけど事前にグループの個数が 判らないという前提なら @- とか見ればいい。 あるいはグループに名前を付けて %+ を使えばいい。 全部ここに書いてあるよ。 https://perldoc.jp/pod/perlretut http://mevius.5ch.net/test/read.cgi/tech/1548981877/403
404: デフォルトの名無しさん [sage] 2020/04/22(水) 21:32:10.06 ID:f6F85tCk Perlで、とある配列を指定した要素数ごとに別の配列リファレンスに分割する処理をList::MoreUtilsモジュールで書き直してみた https://perl48.hatenablog.com/entry/2018/08/19/005304 http://mevius.5ch.net/test/read.cgi/tech/1548981877/404
405: デフォルトの名無しさん [sage] 2020/04/22(水) 23:57:47.29 ID:WLkEu+yG 名前を付けるような性格のものじゃなくて個数が変わる可能性があるなら 個数だけ与えてパターンを組み立てればいいよ。 $1,$2 とか書かなくても map { ${$_}} 1 .. $n で同じことができるし。 リストコンテキストで配列に入れてから splice する方がいいと思うならそうすればいい。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/405
406: デフォルトの名無しさん [sage] 2020/04/23(木) 08:13:25.78 ID:7CKy0JPC 目指すのは、個数がいくつなのか人間が把握しなくていいコード http://mevius.5ch.net/test/read.cgi/tech/1548981877/406
407: デフォルトの名無しさん [sage] 2020/04/23(木) 08:30:38.98 ID:IlZrBGCM できるでしょ。自分がスマートになってスマートなコードを書けばいい。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/407
408: デフォルトの名無しさん [sage] 2020/04/23(木) 12:10:21.89 ID:2vqGx7d4 完全に数値って決まってるんなら、俺ならsplit使っちゃうな @a = split /\d/, $str; まあこんな単純な話じゃないんだろうけど http://mevius.5ch.net/test/read.cgi/tech/1548981877/408
409: デフォルトの名無しさん [sage] 2020/05/01(金) 10:49:51.92 ID:baJ3Dlo6 activeperlで $res = `exefile $file`; みたいなことをした時に、 コマンドプロンプトからスクリプトを起動するとちゃんと動く でも、スクリプトをランチャーから起動するとno such fileになる ファイル名が英数ならどちらもok 2byte文字が混じると挙動が変わる 起動の仕方によってパスの取り扱いとか変わる? http://mevius.5ch.net/test/read.cgi/tech/1548981877/409
410: デフォルトの名無しさん [sage] 2020/05/01(金) 12:19:28.98 ID:baJ3Dlo6 あ、違う 2byte文字ではなくドライブの違いだった ネットワークドライブにあるとアクセスできない コマンドプロンプトからならできる http://mevius.5ch.net/test/read.cgi/tech/1548981877/410
411: デフォルトの名無しさん [sage] 2020/05/01(金) 13:08:35.22 ID:baJ3Dlo6 結局、ランチャーに管理者権限が付いてるのが原因 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA 1 -> 0 これで解決する perl関係ない http://mevius.5ch.net/test/read.cgi/tech/1548981877/411
412: デフォルトの名無しさん [sage] 2020/05/01(金) 13:13:09.83 ID:9YL7RFP8 ランチャー自身か、ランチャーの起動方法がよくないんやろ。 ネットワークドライブの認証(ログオン)かそのタイミングがあやしい。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/412
413: デフォルトの名無しさん [sage] 2020/05/01(金) 13:13:40.55 ID:9YL7RFP8 あら、自己解決? http://mevius.5ch.net/test/read.cgi/tech/1548981877/413
414: デフォルトの名無しさん [sage] 2020/05/10(日) 19:19:00.31 ID:gcVsfbhd 質問させてください。 WindowsでActivePerlを使っています。 perl で、あるファイルを、関連付けられたアプリケーションで開く には、どのようにすればよろしいでしょうか? 例えば、xx_system('foo.txt') のようにすると、'.txt'に 関連つけられたアプリケーションで、'foo.txt'を開くような 動作を実現したいのですが。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/414
415: デフォルトの名無しさん [sage] 2020/05/10(日) 21:12:47.84 ID:04IHVppx system(1, 'foo.txt'); http://mevius.5ch.net/test/read.cgi/tech/1548981877/415
416: デフォルトの名無しさん [sage] 2020/05/10(日) 22:26:25.38 ID:gcVsfbhd >>415 動きました。ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1548981877/416
417: デフォルトの名無しさん [] 2020/05/28(木) 11:01:17.93 ID:5kmQgXWn 最近 python を使い始めたんだけど、使うほどに perl 凄げーって思う。 perlって細かいこと気にしないでも書けるって感じ。 まあ、 python に慣れてないってのもあるけどw http://mevius.5ch.net/test/read.cgi/tech/1548981877/417
418: デフォルトの名無しさん [sage] 2020/05/28(木) 12:00:57.19 ID:yN32+nQR 細かいことを気にしないせいでバグの原因になるので、 きちっとしか書けないようにした perlの不満を解消してもっと簡単に書けるようにしたのは、 rubyの方が正常進化だと思う http://mevius.5ch.net/test/read.cgi/tech/1548981877/418
419: デフォルトの名無しさん [sage] 2020/05/28(木) 12:46:18.60 ID:d4ggzNnr >>418 use strict; use warnings; http://mevius.5ch.net/test/read.cgi/tech/1548981877/419
420: デフォルトの名無しさん [sage] 2020/05/28(木) 12:49:38.27 ID:MEC8WK3T Perl は、暗号のような記号が多いから、皆嫌う Ruby は可読性を上げるために、それらの記号を無くそうとしている http://mevius.5ch.net/test/read.cgi/tech/1548981877/420
421: デフォルトの名無しさん [sage] 2020/05/28(木) 13:57:57.17 ID:EGYBOXys >>420 変数の型を知るのに 宣言まで見ないとわからないのがJava 代入まで探さないとわからないのがpython 見るとその場でわかるのがperl 宗教論争は終わらない http://mevius.5ch.net/test/read.cgi/tech/1548981877/421
422: デフォルトの名無しさん [sage] 2020/05/28(木) 14:14:16.30 ID:yN32+nQR マウスオーバーで判るようなものをいちいち書かなくても http://mevius.5ch.net/test/read.cgi/tech/1548981877/422
423: デフォルトの名無しさん [sage] 2020/05/28(木) 19:40:22.87 ID:2jhnUESo PerlでIDEは使わないわな http://mevius.5ch.net/test/read.cgi/tech/1548981877/423
424: デフォルトの名無しさん [] 2020/05/28(木) 20:04:53.96 ID:EYUPTTzW んなこたーない http://mevius.5ch.net/test/read.cgi/tech/1548981877/424
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 578 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s