Perl初心者スレ(マジレス回答) (523レス)
Perl初心者スレ(マジレス回答) http://mevius.5ch.net/test/read.cgi/tech/1349538519/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
416: デフォルトの名無しさん [sage] 2018/06/22(金) 08:56:04.63 ID:Xz8qrSqH perl6いつになったら実用的な実装出るのー? http://mevius.5ch.net/test/read.cgi/tech/1349538519/416
417: デフォルトの名無しさん [sage] 2018/06/27(水) 17:36:19.05 ID:rSBeNI25 >>414 すいませんどなたかこれ分かりませんか。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/417
418: デフォルトの名無しさん [sage] 2018/06/28(木) 00:53:58.60 ID:mceaYjQ2 >>417 perl6はまったく使ったことはないが、 範囲演算子らしいから perl5の ... と同じように使うんじゃないのかね。 say $_ for 0 ^..^ 10; みたいな? perl6の文法的にこれでいいかはわからんけど。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/418
419: デフォルトの名無しさん [sage] 2018/06/28(木) 03:08:38.20 ID:mceaYjQ2 perl5の範囲演算子 ... じゃなくて .. だったね。失礼。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/419
420: デフォルトの名無しさん [sage] 2018/06/28(木) 13:40:00.67 ID:n10gG+NH >>418 できました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/420
421: デフォルトの名無しさん [sage] 2018/06/29(金) 22:13:55.33 ID:jsqIPRMd Neko演算子なんてあるのねw http://mevius.5ch.net/test/read.cgi/tech/1349538519/421
422: デフォルトの名無しさん [] 2018/07/04(水) 22:52:04.22 ID:gFgZc5FG ANH http://mevius.5ch.net/test/read.cgi/tech/1349538519/422
423: デフォルトの名無しさん [sage] 2018/07/06(金) 12:26:50.17 ID:uTPDH9XV ANH http://mevius.5ch.net/test/read.cgi/tech/1349538519/423
424: デフォルトの名無しさん [sage] 2018/07/12(木) 14:35:34.31 ID:EgbO6wCv Perlの勉強始めました。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/424
425: デフォルトの名無しさん [] 2018/07/12(木) 16:09:13.97 ID:sm9NZXwJ 冷やし中華始めました。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/425
426: デフォルトの名無しさん [sage] 2018/07/19(木) 12:24:17.38 ID:0leqnnH4 Xorgってperlで描かれてるコマンドが多い気がするけどなんで? http://mevius.5ch.net/test/read.cgi/tech/1349538519/426
427: デフォルトの名無しさん [sage] 2018/08/03(金) 22:49:39.26 ID:G69i9RgI なんだろう? 計算式で質問投稿しようとするとNGワードエラーで拒否られてしまう orz 全角でもダメかー http://mevius.5ch.net/test/read.cgi/tech/1349538519/427
428: 427です [sage] 2018/08/04(土) 19:04:46.45 ID:pEPpCry/ これで書けるかな? 代入計算式のソースと書きたかった質問内容をマンゴースレに貼りました。 https://agree.5ch.net/test/read.cgi/mango/1532726276/421-422 http://mevius.5ch.net/test/read.cgi/tech/1349538519/428
429: 427です [sage] 2018/08/04(土) 19:09:36.61 ID:pEPpCry/ >428 の書き込みで、本来続きだった リンク先 >422 の 16進〜解説お願いできませんでしょうか? の文章内だけでもNG含んでるとか・・・・プログラム技術板・・コミュニケーション終わってね? http://mevius.5ch.net/test/read.cgi/tech/1349538519/429
430: デフォルトの名無しさん [] 2018/08/05(日) 06:11:20.74 ID:cdvogGHQ >>428 よくわからないんだけど、下2桁を60で割って3桁目より上は1の位にシフトしているわけだよね。 とするとあり得るのは時間の時と分について 時 * 100 + 分 とやった結果が数値として入っていて、 それの時間単位への変換ではないか? 例えば元の値が 315 なら3時間15分という意味で、それを時間単位に直すと 3.25 時間ってこと。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/430
431: デフォルトの名無しさん [] 2018/08/05(日) 06:13:27.55 ID:cdvogGHQ 時と分とは限らないか。分と秒かも知れない。まあしかし下2桁は60進法で考えなければいけないということに変わりはない。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/431
432: デフォルトの名無しさん [] 2018/08/05(日) 07:50:18.49 ID:cdvogGHQ >>428 ところで元のプログラムに「16進バイナリデータを・・・」というコメントが入っているのだろうが、呼び出す側は実際には何を渡している? 仮に元がバイナリだったとしても unpack('N', ...) のようなことをしていない? だとするとそこでバイナリから Perl の 変数への変換自体は終わっている。 つまり、コメントが紛らわしい表現になっているだけ。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/432
433: 427です これは書けるかな? [sage] 2018/08/05(日) 12:21:43.54 ID:gWGunr7x >430-432 スミマセンです。 orz もっと詳しく書こうとするとマンゴースレでもブロックされました。 ぶっちゃけ、この中の ttp://motor.geocities.jp/resermail/dc10tools.zip 「dc10mov2csv.pl」内です。 gps_data{'latitude'}の部分からです gps_data{'bearing'}の式は 変換が単精度浮動小数点数(float)のIEEE754 単精度float変換で合ってますか? これをベースに別メーカー機種の同様な構造を持つデータでの他言語の変換プログラムを考えているので。 http:
//mevius.5ch.net/test/read.cgi/tech/1349538519/433
434: デフォルトの名無しさん [] 2018/08/05(日) 17:23:40.10 ID:cdvogGHQ >>433 pack, unpack の f は機種依存なので IEEE 754 単制度になるかどうかはプログラムからだけではわからない。 http://perldoc.jp/func/pack まあでも今時の普通のPC用Perlならなってそうな気がするけどね。 latitude って緯度か。GPSデータのバイナリをPerlの変数に入れているということだな。 だから下2桁を60進法で考える必要があると。 やはりそのプログラムのコメントは紛らわしいってだけだよ(サブルーチン名も紛らわしいが)。 bin_convert 呼ぶときには既
にバイナリから float に unpack されてるから。 で、bin_convert 内でやっているのは先に書いた通り下2桁を60進法で小数点以下の値にしてるってことね。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/434
435: 427です [sage] 2018/08/05(日) 21:57:54.47 ID:gWGunr7x >>434 ありがとうございます。 全体からずらして抜いたもの60進法にしてるだけなんですね。 てっきりバイナリから浮動小数点を出す特殊計算かと思っていました。 適当にがんばります。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/435
436: デフォルトの名無しさん [sage] 2018/10/05(金) 20:29:10.24 ID:ZpFL29Ml 「サンプル」のCSVを文末の「結果」に変換するプログラムをPerlで作りたいです。 ● サンプルのCSVの構造: 1コラム目:数字8桁の昇順、2コラム目:数字1桁、3コラム目:文字列 ● 作りたいプログラム: 1コラム目、3コラム目は保持する。複数レコードで1コラム目に重複があれば、 それらの複数レコードの2コラム目の1桁数字を連番にする。 1コラム目に重複がない場合は、当該レコードの2コラム目を1にする。 ● 「サンプル」 06030002,6,文字列A 06030004,3,文字列B
06030004,4,文字列C 06030004,5,文字列D 06030005,3,文字列E 06030005,4,文字列F 06030006,3,文字列G 06030006,4,文字列H 06030006,7,文字列I 06030007,3,文字列J 06030008,3,文字列K ● 「結果」 06030002,1,文字列A 06030004,1,文字列B 06030004,2,文字列C 06030004,3,文字列D 06030005,1,文字列E 06030005,2,文字列F 06030006,1,文字列G 06030006,2,文字列H 06030006,3,文字列I 06030007,1,文字列J 06030008,1,文字列K http://mevius.5ch.net/test/read.cgi/tech/1349538519/436
437: デフォルトの名無しさん [sage] 2018/10/05(金) 21:39:08.56 ID:liWk4NPs まずは自分で書いてみたコードを晒すところからだな。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/437
438: デフォルトの名無しさん [] 2018/10/05(金) 22:57:27.02 ID:kjx9soPU 一行プログラムが思い浮かんだ。 最初の列をハッシュのキーにして3列目をpush。 全部読んだらキーをソートして読んだ内容に番号降りつつ出力。 しかし俺は今電車の中からスマホで書いてるのでここに書く気が起きない。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/438
439: デフォルトの名無しさん [sage] 2018/10/06(土) 00:22:39.61 ID:mGKg2bAW Ruby で作った require 'csv' count = Hash.new( 0 ) # 初期値は、0 # コロン区切りのCSV 入力ファイルを、1行ずつ処理する CSV.foreach( "input.csv" ) do |row| count[ row[ 0 ] ] += 1 row[ 1 ] = count[ row[ 0 ] ] puts row.join( "," ) end http://mevius.5ch.net/test/read.cgi/tech/1349538519/439
440: デフォルトの名無しさん [sage] 2018/10/06(土) 02:20:13.04 ID:m3dYH3N7 考え方は >>439 と同じ perl -pe "s/^([^,]+,)[^,]+/$1.++$count{$1}/e" < sample.csv http://mevius.5ch.net/test/read.cgi/tech/1349538519/440
441: デフォルトの名無しさん [sage] 2018/10/06(土) 03:33:56.69 ID:gPBhgV7B my @y = ""; while(<>) { my @x = split ","; # $x[1] = $x[0] eq $y[0] && ++$y[1] || 1; $x[1] = $x[0] ne $y[0] || ++$y[1]; print join ",", (@y = @x); } ウチでやるならこうかしら http://mevius.5ch.net/test/read.cgi/tech/1349538519/441
442: 438 [] 2018/10/06(土) 06:07:28.44 ID:J8Y2BFN6 おはよう。 元のテキストが s.txt に入っているとして、こうする。 perl -ne 'chomp;@d=split/,/;push(@{$h{$d[0]}},$d[2]);END{for(sort keys%h){for($i=0;$i<@{$h{$_}};$i++){print join(",",$_,$i+1,$h{$_}[$i])."\n"}}}' s.txt なげーなw http://mevius.5ch.net/test/read.cgi/tech/1349538519/442
443: 438 [] 2018/10/06(土) 06:21:52.15 ID:J8Y2BFN6 あ、そうか。貯め込む必要はなくてハッシュ作ってそのまんま出せば良いんだよな。 じゃあawkの方が楽ではないか? awk -F, 'BEGIN{OFS=","}{n[$1]++;print $1,n[$1],$3}' s.txt http://mevius.5ch.net/test/read.cgi/tech/1349538519/443
444: デフォルトの名無しさん [sage] 2018/10/06(土) 17:28:12.58 ID:MMGbFZjG 436です。皆様ありがとうございました。 自分では1行ずつ処理することまでしかできず、複数レコードの 1コラム目の比較をすることができませんでした。 おかげさまで体育の日に子供の運動会に行けます! ありがとうございました! http://mevius.5ch.net/test/read.cgi/tech/1349538519/444
445: デフォルトの名無しさん [sage] 2018/11/11(日) 14:10:45.60 ID:eqm/EHYd 上の方のレスにも関連したものがありますが、 ファイルから読み込んだ文字列データにて パターンマッチがヒットしません。 同一文字列を直接コード内に定義すると、ヒットします。 出来ればファイルに切り出したいので、 ご教示いただけますでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1349538519/445
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 78 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s