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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
233: 2020/02/20(木)00:35 ID:1VYpL0NG(1) AAS
スレに人が来ていてオジサンうれしいよ
234: 2020/02/20(木)01:29 ID:bivTkZxZ(2/2) AAS
最近はPerlのことを喋ると謎の軍団が叩きに来るからな
ネット上で喋れる場所がなくなった
迫害されてる気分
235
(1): 2020/02/20(木)13:15 ID:fXEOX4Gg(1) AAS
Perl/Tk は使い物にならん。プログラムが大きくなると動かないでやんのw
Perl/Qt を推進していくべき。

ここの人はPerlでGUIを使ったりしてる?
236: 2020/02/20(木)15:23 ID:Gm5IubjH(1) AAS
Windows限定だが、Win32-GUIを使ってるよ。
インストールして、次のバッチファイルを走らせると、
細かい具体例のデモが見れる。
C:\Perl\site\bin\win32-gui-demos.bat
237: 2020/02/20(木)17:36 ID:Nllb9nDe(1) AAS
>>231
そうではなくて独自の記号にコンテキスト毎に意味を詰め込む様な言語思想のこと言ってるんだがね。
238: 2020/02/20(木)18:47 ID:CqCGFBWH(1/3) AAS
入力も出力もテキストで完結してるのがいい

と思ってたけど、最近excelデータを入出力に使い出した
239: 2020/02/20(木)20:33 ID:0HRLUjae(1/2) AAS
短絡論理演算子を使うという方法もあるが、お気に召すかどうかは知らん。
240: 2020/02/20(木)20:44 ID:CqCGFBWH(2/3) AAS
>>227の例だと
$var = $table{$var} or $var
で概ね動くけど、空文字列なんかが入ってた時に誤動作する

判別はdefinedしか無いとして、それでも書ける短絡評価とは
241
(1): 2020/02/20(木)21:36 ID:uxa6Suua(1) AAS
defined-or使うだけじゃないの?
$var = $table{$var} // $var;
242: 2020/02/20(木)22:00 ID:0HRLUjae(2/2) AAS
アンカー入れ忘れたのによく分かってくれたな。ありがとう。
243: 2020/02/20(木)22:37 ID:CqCGFBWH(3/3) AAS
そんな演算子知らん
244: 2020/02/20(木)23:16 ID:NRacWxGd(1) AAS
null合体演算子は最近の流行りやぞ?
245: 2020/02/21(金)01:54 ID:dQ0Yz//t(1) AAS
//流行ってる気がしない。
新しい機能を積極的に使う人はそもそもperlを使わないのではないか。
断固外氏のブログのネタにしかなってなさそう。
246: 2020/02/21(金)02:18 ID:YvRUEPlL(1) AAS
5.8じゃ使えないからね
それだけで使わない理由になる
247: 2020/02/21(金)03:26 ID:6/adwu75(1/3) AAS
細かいけど優先度は// > = > orだよ
248: 2020/02/21(金)03:54 ID:6/adwu75(2/3) AAS
>>227と等価なのは>>241
この例はdefinedだったから適用できるのね
判定が任意だとするとやはり2度書くしかないかね 例えば
if ($table{$var} % 3) {
 $var = $table{$var};
}
perlは同一値への参照と解釈して2回読みにはいかないという気の利いたことはしないだろうね
エクセプション入ったら変わる可能性あるしね
249: 2020/02/21(金)03:58 ID:6/adwu75(3/3) AAS
//=の逆バージョンあったらいいなとはたまに思うね
そこまで必要性ないという判断でないのだろうけども
250: 2020/02/21(金)07:05 ID:TnPEnehp(1) AAS
$table{$var} が $_ に入るような無害な処理をしておいて、
$var = $_ % 3 ? $_ : $var
と等価なシンタックスシュガーで処理する
みたいなことができれば
251: 2020/02/21(金)09:05 ID:KvZFDIbR(1) AAS
2回読みたくないというのがどういうレベルでの事か分からんが
ソースコードの見た目だけならサブルーチンに押し込めばどうとでも

#!/usr/bin/perl -w
use strict;
use Scalar::Util qw(looks_like_number);

sub dp {
  defined $_[0] ? "d[$_[0]]" : 'u[]';
}

sub if_true(&$$) {
  local $_ = pop;
  $_[1] = $_ if &{$_[0]};
}

my %table = ('' => 1, 0 => 2, a => 3, b => 4, c => 0, d => '', e => undef);
for my $var (sort keys %table) {
  print dp($var), dp($table{$var});
  if_true { looks_like_number($_) && $_ % 3 } $var => $table{$var};
  print " => var[$var]\n";
}
252: 2020/02/21(金)09:57 ID:PzVMR7sv(1) AAS
サブルーチンとか甘え。謎の記号を使って魔法のようなコードを書くのがPerlの醍醐味。可読性は悪
253
(1): 2020/02/21(金)12:24 ID:TKnLlA6x(1/2) AAS
>>235
昔々 Perl/Tk 使おうと思ったが日本語対応が出来てなくて止めたことがある。
それ以来 Perl で GUI はやってない。
254: 2020/02/21(金)14:01 ID:OOdvSVAe(1) AAS
絶対やらないけど
$_ % 3 and $var = $_ for $table{$var};
255
(1): 2020/02/21(金)15:45 ID:ooEapY6E(1) AAS
>>253
それ、5.6以前の話?記憶が曖昧だけど、utf8に対応した5.6あたりから、Tkで日本語使えたような気がするけど。
256: 2020/02/21(金)18:15 ID:TKnLlA6x(2/2) AAS
>>255
忘れた。20年ぐらい前だったかな?
257
(1): 2020/02/22(土)22:24 ID:pvGxmVZm(1/2) AAS
裏でずっと何かしてるスクリプトを走らせておきたい
ActivePerlのウィンドウが出るのが嫌なので、wperlを起動してウィンドウを出さない
でも、wperlを起動する為のbatファイルのウィンドウがずっと出てる
batファイル以外のいい起動方法はないだろうか
258
(1): 2020/02/22(土)22:46 ID:KpqdZij5(1) AAS
>>257
start "" "wperl ..."
259: 2020/02/22(土)22:47 ID:+QQ7ccWr(1) AAS
ショートカットでよくね?
260
(1): 2020/02/22(土)23:01 ID:pvGxmVZm(2/2) AAS
wperl以降を""で括ると動かないけど、無くせば動いた
これでサーバ監視ができる
261
(1): 2020/02/23(日)06:57 ID:6djC7Yo0(1) AAS
Linuxなら何も考えずにできるが・・・
262: 2020/02/23(日)07:18 ID:u5LzmB/p(1) AAS
pingが通るようにしてしまえばwindowsでもそういうのは既にある
1-
あと 740 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.014s