Perl初心者スレ(マジレス回答) (523レス)
上下前次1-新
401(1): 2017/02/26(日)22:46 ID:UaR+28E8(1) AAS
以下エラーが出たため、ググると、似たエラーのQ and Aがありました。
Q and A では "if(defined(%hash))"を"if(%hash)"にしろと読めたので、倣うと確かにエラーは解消されました。
理屈はまるで分からないのですが、%記号のついた変数のときだけdefinedを削る理由は何なのでしょうか。
エラー: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at ./w3mhelp.cgi line 51.
Q and A: 外部リンク:github.com
402: 2017/02/26(日)23:46 ID:03Ms8vp8(1) AAS
>>401
すごく古い Perl (例えば 5.005_03) だと、defined %hash はエラーにならず 0 か 1 が返ってきていた。
だが今やこの機能は廃止された。
外部リンク:perldoc.jp
> 集合(ハッシュや配列)への defined の使用は非推奨です。
> これはその集合にメモリが割り当てられたかを報告するのに用いられていました。
> この振る舞いは将来のバージョンの Perl では消滅するかもしれません。
ハッシュ変数自体をスカラーコンテキストで評価すると「利用バケット数/確保バケット数」のような値が
返ってきて、これは昔から変わらない。内容が完全に未定義 = キーが一つも無ければ 0 が返される。
よって if (%hash) { ... } は、意味や挙動的には if (keys %hash) { ... } と同じ。
my %hash;
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 0, 0
$hash{udnef} = undef;
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 1/8, 1
%hash = ();
printf "%s, %d\n", scalar %hash, scalar keys %hash; # 0, 0
外部リンク:d.hatena.ne.jp
403: 2017/02/27(月)00:03 ID:JWhb7pSm(1) AAS
外部リンク[pod]:perldoc.jp
>defined(@array) と defined(%hash) は致命的エラーになりました
>これは v5.6.1 から廃止予定で、v5.16 から廃止予定警告が出力されていました。
v5.6.1は2001年、v5.16は2012年、実際に廃止されたv5.22は2015年にリリース
外部リンク:www.effectiveperlprogramming.com
>A hash is scalar context will return the number of keys, not the hash statistics.
今年リリース予定のv5.26からはスカラーコンテキストのハッシュが返す値はハッシュの持つキーの数になるそうです
404(1): 2018/02/03(土)21:51 ID:UEj2CeXM(1/3) AAS
Perl初心者です。独学でやり始めましたが、わからないことがあり、先輩方、何卒よろしくお願いします。
my $num = 1;
my $inc = $num++;
print “$num¥n”;
print “$inc¥n”;
変数$numは2と表示されますが、変数$incは1と表示さます。こらは仕様でしょうか。変数$incについても2が表示されると思ってたのですが。
C言語では右辺を評価した後に左辺に代入して、2が表示してたかな、と思ったので質問させていただきます。
405(1): 2018/02/03(土)22:48 ID:oNG+vmom(1) AAS
>>404
Cでも++演算子は同様の結果になると思ったが?
406(1): 2018/02/03(土)22:55 ID:UEj2CeXM(2/3) AAS
>>405
本当ですね。もっと確認してから質問するべきでした。
やりたかったことは
$inc = ++$num(
でした。C言語と同じですね。
ご教授頂きまして、どうもありがとうございました。
407: 2018/02/03(土)22:57 ID:UEj2CeXM(3/3) AAS
>>406
$inc = ++$num;
の間違いです。
408: 2018/05/23(水)20:30 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
WVNXN
409: 2018/05/24(木)02:11 ID:zOcuDZ4P(1/2) AAS
perlやってみたいど素人です。
Ubuntu 18.04がメインのマシンです
Windows XPサポート終了後難民となり
Ubuntu 16.04に辿りついてます
Ubuntuもまだまだど素人ですけど
通常に動かす所まではできます
Perlはどこから?始めたらいいでしょう
本買った方がいいのかな?
410: 2018/05/24(木)02:11 ID:zOcuDZ4P(2/2) AAS
perlやってみたいど素人です。
Ubuntu 18.04がメインのマシンです
Windows XPサポート終了後難民となり
Ubuntu 16.04に辿りついてます
Ubuntuもまだまだど素人ですけど
通常に動かす所まではできます
Perlはどこから?始めたらいいでしょう
本買った方がいいのかな?
411(1): 2018/05/24(木)07:46 ID:8nuNm7XP(1) AAS
どのみち本は買った方がいいと思うけど
初心者から始めるならこんなのもあるみたいよ(宣伝乙)
外部リンク:www.perl-entrance.org
412: 2018/05/24(木)11:20 ID:4N/yOXRV(1) AAS
>>411
独学派なんです。
413: 2018/06/20(水)03:35 ID:CuTzdQY9(1) AAS
perlに初心者がつくとは。。perlの未来は明るい
414(1): 2018/06/20(水)20:53 ID:Va19lMsb(1) AAS
Perl 6の“Neko operator”を使ってみたいのですがどのように使用すればいいでしょうか。
> 0 ^..^ 9
> say "0 ^..^ 9"
などとやっても
0 ^..^ 9
という文字列(?)が返ってくるだけなのですが……。
415: 2018/06/22(金)02:01 ID:AmdeLsRG(1) AAS
Perl6は初心者なので全く分からない。
というかやろうとしたことすらないので知識ゼロw
416: 2018/06/22(金)08:56 ID:Xz8qrSqH(1) AAS
perl6いつになったら実用的な実装出るのー?
417(1): 2018/06/27(水)17:36 ID:rSBeNI25(1) AAS
>>414
すいませんどなたかこれ分かりませんか。
418(1): 2018/06/28(木)00:53 ID:mceaYjQ2(1/2) AAS
>>417
perl6はまったく使ったことはないが、
範囲演算子らしいから
perl5の ... と同じように使うんじゃないのかね。
say $_ for 0 ^..^ 10;
みたいな? perl6の文法的にこれでいいかはわからんけど。
419: 2018/06/28(木)03:08 ID:mceaYjQ2(2/2) AAS
perl5の範囲演算子 ... じゃなくて .. だったね。失礼。
420: 2018/06/28(木)13:40 ID:n10gG+NH(1) AAS
>>418
できました。ありがとうございます。
421: 2018/06/29(金)22:13 ID:jsqIPRMd(1) AAS
Neko演算子なんてあるのねw
422(1): 2018/07/04(水)22:52 ID:gFgZc5FG(1) AAS
ANH
423: 2018/07/06(金)12:26 ID:uTPDH9XV(1) AAS
ANH
424: 2018/07/12(木)14:35 ID:EgbO6wCv(1) AAS
Perlの勉強始めました。
425: 2018/07/12(木)16:09 ID:sm9NZXwJ(1) AAS
冷やし中華始めました。
426: 2018/07/19(木)12:24 ID:0leqnnH4(1) AAS
Xorgってperlで描かれてるコマンドが多い気がするけどなんで?
427: 2018/08/03(金)22:49 ID:G69i9RgI(1) AAS
なんだろう? 計算式で質問投稿しようとするとNGワードエラーで拒否られてしまう orz
全角でもダメかー
428(3): 427です 2018/08/04(土)19:04 ID:pEPpCry/(1/2) AAS
これで書けるかな?
代入計算式のソースと書きたかった質問内容をマンゴースレに貼りました。
2chスレ:mango
429: 427です 2018/08/04(土)19:09 ID:pEPpCry/(2/2) AAS
>428 の書き込みで、本来続きだった リンク先 >422 の
16進〜解説お願いできませんでしょうか?
の文章内だけでもNG含んでるとか・・・・プログラム技術板・・コミュニケーション終わってね?
430(1): 2018/08/05(日)06:11 ID:cdvogGHQ(1/4) AAS
>>428
よくわからないんだけど、下2桁を60で割って3桁目より上は1の位にシフトしているわけだよね。
とするとあり得るのは時間の時と分について 時 * 100 + 分 とやった結果が数値として入っていて、
それの時間単位への変換ではないか?
例えば元の値が 315 なら3時間15分という意味で、それを時間単位に直すと 3.25 時間ってこと。
上下前次1-新書関写板覧索設栞歴
あと 93 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.009s