[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/25 05:23 / Filesize : 232 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Perlについての質問箱 50箱目



1 名前:デフォルトの名無しさん [2012/01/18(水) 02:58:16.13 ]
CGI についての質問は板違いです。WEB プログラミング板でどうぞ。
CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。
(WEB プログラミング板: hibari.2ch.net/php/ )

このスレでは(CGI 以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。

"The duct tape of the Internet" こと、Perl についての質問箱です。
"There's more than one way to do it" ということで、
Perl の奥深さについて皆で語り合い、追求してまいりましょう。

www.perl.org/get.html
● 2011/10/30 現在の最新版: 5.14.2

▼ 前スレ
Perlについての質問箱 49箱目
toro.2ch.net/test/read.cgi/tech/1319953460/
リンク集は >>2-3辺り
Perl 日本語処理の基礎の基礎 >>4辺り

461 名前:デフォルトの名無しさん [2012/02/05(日) 22:26:39.88 ]
パールってスレッド作れないの?
一つのコードのファイルでマルチスレッドできないの?

462 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 22:40:59.65 ]
スレッドは作れるが、ライブラリがスレッドセーフとは限らない。

野良ライブラリが多く、その野良ライブラリに
スレッドセーフかどうか書いてあることは稀で
次第に嫌になってくるであろう

463 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 22:46:19.83 ]
このスレで我慢しろ

464 名前:デフォルトの名無しさん [2012/02/06(月) 06:45:58.34 ]
>>454
自己紹介乙

465 名前:デフォルトの名無しさん [2012/02/06(月) 08:48:27.47 ]
PHP最強

466 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 12:37:51.41 ]
○○○最強≠○○○だけ覚えれば十分、他は記憶領域の無駄だから一切覚えるな

467 名前:デフォルトの名無しさん [2012/02/06(月) 14:22:39.79 ]
もしプログラム言語を1つしか覚えられないとしたらPHPしかないじゃん
これには異論ないと思う
というか異常者以外は分かるはず
実際はいくつも覚えられるからPHPを中心に他の言語もかじってみるけど
他の言語は全部ゴミみたいなものだから結局PHPがいかに優れているかを再確認するだけになるんだよね

468 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 14:25:41.09 ]
PerlもPHPもジャングル言語だ

469 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 14:30:50.79 ]
【ジャングル】
弱肉強食
密林
錯綜、複雑
物騒な場所
非情な生存競争の場
浮浪者の集まる所



470 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 16:03:15.04 ]
my $buf = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
test($buf);

sub test{
#1
#my $hoge = shift;
#return length($hoge)/2;

#2
#return $_[0]/2;
}

引数渡すときに、コピーが作られるのは代入したタイミングですか?
#2の場合は$bufの中身分のメモリは確保されないということでいいんでしょうか?

471 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 16:04:23.86 ]
#2
#return length($_[0])/2;
でした。
この辺はどうでもいいですが。

472 名前:デフォルトの名無しさん [2012/02/06(月) 18:37:30.70 ]
お前の存在もどうでもいい

473 名前:デフォルトの名無しさん [2012/02/06(月) 22:32:18.10 ]
perlでwhileの二重ループがうまくいかないのですが何が原因でしょうか?
うろ覚えですがおよそ下記のようなものです。

while($a=<IN1>){
 seek(IN2, 0, 0)
 while($b=<IN2>) {
  if($a=~$b) {
   出力する
  }
 }
}

$aの一行目はちゃんと期待どおりに$bが出力されるんですが
$aの二行目から$bが出てこないんです。
ファイルポインタの位置を戻さないとダメかと思ってseek入れたんですがダメでした。
ファイルには両方にそれぞれ対応する文字列が入ってます。

474 名前:デフォルトの名無しさん [2012/02/06(月) 22:36:33.86 ]
馬鹿には無理

475 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:42:57.79 ]
>>474
自己紹介乙www

476 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:49:11.85 ]
seekよりもopenのほうが分かりやすいでしょ。
それよりもI/Oを最低限の回数にするために、
my @a = <IN1>;
my @b = <IN2>;
以下、宿題。
のほうがいいと思うけどね。

477 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:14:21.76 ]
>>470
perldoc.jp/docs/perl/5.10.0/perlsub.pod#DESCRIPTION
> 配列 @_ は local 配列ですが、その要素は実際の スカラパラメータの別名です。

Devel::Peekで確認しれ。

478 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:41:53.95 ]
「PHP 5.3.9」に危険度の高い脆弱性、最新版へのアップデートを (Impress Watch) - Yahoo!ニュース
vv1.jp/oqv

さすがPHPさんやで・・・

479 名前:デフォルトの名無しさん [2012/02/06(月) 23:55:39.20 ]
>脆弱性を悪用された場合、遠隔の第三者によって任意のコードを実行される危険性がある。

任意のコードを実行されるんだってよwww
PHPかっけー!www



480 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 00:46:28.73 ]
>>478-479
こちらへどうぞ。

Perl VS PHP
kohada.2ch.net/test/read.cgi/php/982591467/

481 名前:デフォルトの名無しさん [2012/02/07(火) 23:15:39.41 ]
>>476
それで読み込んだ場合要素には各行が入ったんですが基本的に行毎に入ると思っていいでしょうか?
処理系によっては空白区切りの単語毎とかいうことはあるでしょうか?

482 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 23:19:25.10 ]
$/ の値次第
perlvar嫁

483 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 01:32:28.78 ]
$num = 3;
open(DATA, ">:encoding(cp932)", "./test$num.txt") || die "ファイルが開けません: $!";
これを実行しtext.txtが開けなかった場合、
「ファイルが開けません: ページ No such file or directory at test.pl line 10.」
と表示されますが、この時にファイル名を表示することは出来ないでしょうか?

今はこの様にしているのですが、毎回こうするのは不恰好で、
もしファイルが開けなかった場合にどのファイルにアクセスしようとしたのか分からないものかと思いました。
$num = 3;
$filename = "./test$num.txt";
open(DATA, ">:encoding(cp932)", $filename) || die "ファイルが開けません: $filename\n$!";

484 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:22:10.81 ]
>>483
"ファイル"を表示したい変数に置き換えれば?

485 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 04:34:20.56 ]
お手軽な感じのサブルーチンか、ユーティリティクラスでも作ればいいんじゃないか。

486 名前:デフォルトの名無しさん [2012/02/08(水) 05:46:47.65 ]
うるさいゴミ

487 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 07:39:37.13 ]
>>483
べつにそのままで構わないと思う。


488 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 08:18:23.62 ]
377です

さらに、フルパスを8.3形式で取得する必要が生じました
getcwdでカレントを取得して、各階層をGetShortPathNameしていく、
という方法は思い付いたのですが、もっと一発で済むような方法はありませんか

489 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 08:41:16.59 ]
あ、なんかフルパスをGetShortPathNameするだけでいけそうでした



490 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:24:10.86 ]
ラクダ本3版 88ページ リストを取り扱っている段なのですが

# 「逆コンマ演算子」
return (pop(@foo) ,pop(@foo))[0];

とあります。この記述がどういう作用を持つのかは分かるのですが(配列から後ろ2つの要素を削除し、末尾だったものを返す)
コメントの意味が解せません:逆コンマ演算子とはどういう意味なのでしょうか?

491 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:35:00.61 ]
分かりました。コンマ演算子で項を繋げていった場合、スカラーリテラルで評価されるとリスト末尾の要素が返る。
それに対して>>490はリスト先頭の要素が返る。コンマ演算子とは逆の作用と捉えることが出来る。
なので>>490の記述全体の事を逆コンマ演算子と呼んだということですね。

492 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:41:56.60 ]
うむ。そういうことだ。

493 名前:デフォルトの名無しさん [2012/02/09(木) 22:41:48.75 ]
Perl on Heroku | Hacker News
news.ycombinator.com/item?id=3570894

judofyr/perloku - GitHub
https://github.com/judofyr/perloku

494 名前:デフォルトの名無しさん [2012/02/10(金) 01:41:12.46 ]
ファイルを1行ずつ読んで処理してます。ループ内でさらに1行だけ先読みしたい場合はどうすればいいですか?

while (<>) {
my $line = $_;
...
if ($line =~ /xxx/) {
#ここでさらに次の行を読んで一緒に処理したい
}
}
よろしくお願いします


495 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 01:45:26.12 ]
一行先読みじゃなくて一行遅延すりゃあいいだろ
お前はアホか

496 名前:デフォルトの名無しさん [2012/02/10(金) 03:31:52.51 ]
すんまへん。一行遅延ですか。
自分は結局配列に入れました。


497 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 04:01:15.08 ]
配列でいいとおもう
それで問題が発生したら別の方法がないか
質問すればいい

498 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 05:20:20.81 ]
>>494
perldoc.jp/docs/perl/5.10.1/perlfaq5.pod

> perl -e "print join qq/\n/, qw(abc def ghi jkl mno pqr stu vwx yz)" > foo.txt
> perl following.script foo.txt

#!/usr/bin/perl -w
use strict;
while (<>) { chomp;
  print "$.:", my $line = $_;
  if ($line =~ /[ekw]/) {
    # Win の場合は <> と chomp で削られる byte size が 2
    my $lf = chomp(my $next_line = <>) ? 2 : 0;
    print " (next: $next_line)";
    # $next_line を本当に「先読み」扱いにしたいのなら
    seek ARGV, - length($next_line) - $lf, 1;
    --$.;
  }
  print "\n";
}

use Tie::File; # perldoc.perl.org/Tie/File.html
tie my @line, 'Tie::File', './foo.txt' or die $!;
for my $i (0..$#line) {
  print $line[$i] = ($i + 1) . ":$line[$i]"; # 実際にファイルへ行番号を追記
  if ($line[$i] =~ /[ekw]/) {
    print " (next: $line[$i + 1])";
  }
  print "\n";
}
untie @line;

499 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 05:44:10.05 ]
file1, file10, file2
という感じの文字列があって、
これを数値順にソートするにはどうすればいいですか
要は、エクスプローラのファイル名の並びです



500 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 06:12:31.75 ]
>>499
Sort::Key::Natural とか Sort::Naturally とかを使うのが簡単。

手で作っても大したことないけど。

なんか Python スレにも同じ質問があがってたね。


501 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 07:30:18.34 ]
>>499
perldoc.jp/docs/perl/5.10.1/perlfaq4.pod#How32do32I32sort32an32array32by32anything41

502 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 07:39:01.77 ]
>>500
両方使ってみましたが、思ったものと違うようです
数字の前の文字列が共通の要素同士ではちゃんと数字順に並んでいるのですが、
文字列部分での順序がランダムに見えます
ランダムという訳ではなくて何か規則はあるのだろうけど、多分賢すぎです
日本語を扱わせていることに原因があるのかもしれません

>>501
見るべき場所が判りません

503 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:47:25.63 ]
例えば、natkeysortでは
え00 う01 い02 あ03 a03 b02 c01 d00
こんな感じの並びになります

504 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:29:16.03 ]
>>503
日本語いれるなよ。しきいがたかくなるやん

505 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:29:43.29 ]
use Encode;
とか…心細い

506 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:29:57.25 ]
>>504
decodeすればまだなんとか

507 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:31:12.32 ]
>>502

ああ、NaturalSort が内部で use locale しているので、
日本語がおかしなことになってるようですね。

数字部分がそれっぽく並ぶだけでいいのなら、
とりあえず、こんなのでいいのでは。

sub makekey($) {
    my $s = shift;
    $s =~ s/\d+/sprintf '%09d', $&/ge;
    lc $s;
}
sub naturalsort(@) {
    return map {$_->[0]} sort {$a->[1] cmp $b->[1]} map {[$_,makekey($_)]} @_;
}


508 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:11:20.37 ]
>>502

ちょっと見てみたけど、内部で use locale しているのは
Sort::Naturally だけだった。

Sort::Key::Natural のほうは日本語でもそのまま動くみたい。

Sort::Naturally を use せずに Sort::Key::Natural だけで
試してみてはどうでしょうか。



509 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:18:24.74 ]
use Sort::Key::Natural;
@a = ('a03', 'b02', 'c01', 'd00', 'あ03', 'い02', 'う01', 'え00');
@b = natsort @a;
print "@b";

の結果が>>503になるようです



510 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:21:56.27 ]
use strict; # >>499 >>503
my @file_list = ('file1', 'file10', 'file2', 'e00', 'u01', 'i02', 'a03', 'b02', 'c01', 'd00');
my $i = 0;
my $longfilename_size = 255;
my @temporary_list = ();
my ($file_name, $k, $m, $used_as_number);
for $file_name (@file_list) {
  $m = $longfilename_size;
  $k = index($file_name, '0'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '1'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '2'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '3'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '4'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '5'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '6'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '7'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '8'); if($k >= 0) { if($k < $m) { $m = $k; } }
  $k = index($file_name, '9'); if($k >= 0) { if($k < $m) { $m = $k; } }
  if($m == $longfilename_size) { # no number
    $temporary_list[$i++] = join '', '<', $file_name;
  } else {
    $used_as_number = substr($file_name, $m);
    $temporary_list[$i++] = join '', substr($file_name, 0, $m), sprintf('%03d', $used_as_number), '<', $file_name;
  }
}

for $file_name (sort @temporary_list) {
  $k = index($file_name, '<');
  print substr($file_name, ++$k), "\n";
}

511 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:31:20.49 ]
おおー
解読できてませんが、ちゃんと動いているようです

sort {$array[$a] cmp $array[$b]} (0 .. $#array)
みたいな使い方がしたいので、sortから呼び出す関数の形になってると有り難いです

512 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:40:49.93 ]
>>509
ちゃんと use utf8 すれば動くよ。


513 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 11:32:07.44 ]
そう思って、encode('utf-8', ) とかはやったんだけど、
その場合の結果は>>503と同じで
use utf8 とは挙動が異なるようです
use utf8はちょっと避けたい理由があるので、
なんとかuse Encodeの範囲内で解決できませんか

514 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 11:35:41.16 ]
>>502
> 見るべき場所が判りません
「(なにか)」が今回はファイル名の数字部分で、そのまま解き方の解説なんだけど。

my @file_list = qw( い2 file1 い00 file10 あ10 file02 い02 あ5 い1 file2 5 007 1 a1b10 a1b01 a1b1 );
@file_list = (map("$_.b", @file_list), map("$_.a", @file_list));

print(
  map "$_->[0]\n",
  sort { $a->[1] cmp $b->[1] || $a->[2] <=> $b->[2] || $a->[3] cmp $b->[3] }
  map [ $_, /^(.*?)([0-9]+)(\..+)\z/ ],
  @file_list
);

515 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 14:21:17.78 ]
>>494
# 単純にもう1行追加したい
while(defined (my $line = <>)){
...
if ($line =~ /xxx/){
# 単純に1行追加
my $new_line = <>;
...
}
}

# 追加行に通常処理も加えたいような場合
my $state = 'start';
while(defined(my $line = <>)){
if ($state eq 'xxx'){
# 1行追加処理(後で通常処理も加える)
...
$state = 'start';
# fall thru.
}
if ($state eq 'start'){
...
$state = 'xxx' if ($line =~ /xxx/);
next;
}
}

516 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 14:34:29.39 ]
>>513

そもそも、もとの文字列が utf-8 じゃないのでは?
もし上の例で cp932 が生ではいっているのなら、

@tmp = map {decode('cp932',$_)} @a;
@b = map {encode('cp932',$_) } natsort @tmp;

でいけるはず。


517 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:07:17.86 ]
use utf8して、スクリプト中に埋め込んだ文字列をソートするとうまくいくけど、
外部からsjisのファイルを読み込んでutf8に変換してソートしようとしても、
どうもうまくいきません

518 名前:デフォルトの名無しさん [2012/02/10(金) 18:21:37.79 ]
>>517
お前のコードがゴミなんだろ
ここで自分のコードはゴミですアピールして楽しい?
まじ池沼だな

519 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:33:30.61 ]
>>517
ちゃんと、decode('shiftjis', $_) でインポートしてソートしてる?

>>518
更年期障害ですか、あんた



520 名前:デフォルトの名無しさん [2012/02/10(金) 18:40:07.15 ]
>>517
ここはPerlの質問スレであってお前の糞コードのどこが悪いかを質問スレじゃねぇんだよ

521 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:44:56.39 ]
自前でエンコードするのは諦めて、
>>4のテンプレを全面採用すると、あっさり動きました

うーむ、従うしかないのか、、、
その方がソースも遥かに綺麗ではあるんだけど、、、

sub s2u {
my $str = shift;
return encode('utf-8', decode('cp932', $str));
}
↑こんなのを書いて渡しても、挙動がおかしい
これの逆パターンの関数を書いて、uff-8ソースに埋め込みの文字列を表示させようとしても
化けたり、Wide character云々とか言われる

これでうまく行くケースも結構あるんだけど、utf-8にもいろいろあるみたいで、
その違いが乗り越えられない

522 名前:デフォルトの名無しさん [2012/02/10(金) 19:04:07.43 ]
>>520
うるさいゴミ

523 名前:デフォルトの名無しさん [2012/02/10(金) 19:11:36.80 ]
自分でも叩けそうなレベルの話題になると急に元気になるのなw

524 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:21:08.17 ]
>>521
open (my $FH, '<', "./test.sjis");
  my @test;
  while (<$FH>) {
    chomp;
    push @test, decode('shiftjis', $_);
  }
close $FH;

for my $v (@test) {
  print encode_utf8($v). "\n";
}

これで警告なくうまく出力されるけど?

525 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:21:33.05 ]
>>511
sort {($a0 = $a) =~ s/(\d+)/1000 + $1/ge, ($b0 = $b) =~ s/(\d+)/1000 + $1/ge, $a0 cmp $b0} @file_list;

関数の形
sort renamed @file_list;
sub renamed {
    (my $a0 = $a) =~ s/(\d+)/1000 + $1/ge;
    (my $b0 = $b) =~ s/(\d+)/1000 + $1/ge;
    $a0 cmp $b0;
}

526 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:27:00.22 ]
>>524
今こっちでも同じ答えを見つけたのにー

encodeしちゃいけなかったのね
decodeして中間コードみたいな状態で渡して、
受け取ったらdecodeせずにencodeだけすればいいのか
なんか気持ち悪いけど

>>525
おお、シンプル
試してみます

527 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:31:11.70 ]
>>526
encodeとdecodeを根本で勘違いしてる。

decodeは、外部から文字列をPerlスクリプト内へインポートするための関数。
外部から取り入れた文字列はバイナリ認識だからPerlで文字列として扱えるようにする。

encodeは、Perlスクリプト内から外部へ文字列をエクスポートする関数
Perl内で文字列は特殊な方法で管理されてるから、その管理を外して外部でも使えるようにする。

インポートして、処理して、エクスポートする。

528 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:56:00.26 ]
まあ、そうなんだけどね
何で今まで困らなかったんだろう

そもそも、'utf8'という指定がencodeやdecodeで使えるのはどういうことなんだ

529 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 21:08:52.36 ]
>>528
decode,encodeは「他のコード⇔UTF-8」じゃなくて「他のコード⇔Perl内部コード」だよ
「utf8フラグ」ってのはいい加減誤解の元だよね



530 名前:デフォルトの名無しさん [2012/02/10(金) 21:42:14.63 ]
見事に馬鹿しかいない

531 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 21:57:24.00 ]
>>530
学校でろくな先生に出会わなかったんだろうな…

532 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 21:58:28.66 ]
だからUTF8フラグが混乱の元。
Perl文字列フラグだったらよかった。

533 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 23:58:48.17 ]
名前変えても挙動は一緒だろ、何が問題なのか全然分かってないなw

534 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:10:03.08 ]
danが問題なんじゃなかったのか?違ったか?失礼。

535 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:26:15.06 ]
大規模な文字集合になると、文字なのか文字でないのかの境界が
単純に0/1で分けられないからなぁ
そういうのは今のところUTF8フラグでは扱えない
それに文字か文字でないのかは多分に気分的なものがあるので、
そうなると本質的に機械では扱えない

536 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:46:48.41 ]
>>535
お前馬鹿だろ?
頓珍漢なこと言ってるぞ。

537 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 08:36:37.59 ]
      , -‐‐‐‐‐- 、
     /r。−、r。−、ヽ
    _.j .l_,...、_l l_,...、_l r‐、
   l l‐r‐‐r―r―(,)‐ァ_.ノ
   、ゝ  ̄    ̄  ノ. ノ <いきなり尻見せ
   ゝ、`‐――‐‐_',イ ヽ
      ( ̄て""´  ヽ \
      \   .)    、 ~ヽ
        ヽ_人      l ,l
         /    __/_ノ
         l   -‐ ̄ ヽ
         \   ヽ

538 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 11:25:25.34 ]
内部コードを隠してしまいたいのか、
世界全部が内部コードと同じになって欲しいのか、
方向がはっきりしない

539 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:34:05.24 ]
世界全部が内部コードと同じになることはありえない。

答えは出てる。



540 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:41:38.24 ]
今でも普通にsjisのデータが増え続けてるし、過去のデータはきっと永久にsjisだし

541 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 13:18:58.45 ]
だけど、いちいちプログラマがこのファイルの文字コードは何だろう?と
考え続けていたら、大変なことになる。

だからせめてプログラム言語の中では統一しよう。
そうやってできたのがPerl標準のEncodeモジュール。

542 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 14:30:53.29 ]
漢字に代表される大規模な文字集合の場合、一文字一文字が
英語でいうところの単語の性質を帯びてくる。

ここで、任意の英字の並びに対して、単語であれば1、単語
でなければ0、という「単語フラグ」というものを導入する
ことを考えてみる。

Perlで単語を処理する場合は必ず単語フラグを1にしなければ
ならない。

その試みは果たして成功するだろうか?



543 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:45:06.22 ]
単語か単語ではないかを考えるのは無価値なので、考えない
ことにして、英字の並びをそのまま扱うようにするのがいい。

(ここまでの答えを自分で出せたひとだけ次に進みます。)

544 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:02:26.05 ]
結論

単語フラグは意味が無いのだから
世の中のフラグはすべて意味が無いものなのです。

545 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:02:49.38 ]
>>544
それは詭弁だ。

546 名前:デフォルトの名無しさん [2012/02/11(土) 19:14:26.21 ]
>>544
お前変な新興宗教入ってるだろ

547 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:44:45.99 ]
少数の人だけしか理解できない呪文の不可解な連なりであり、
ヤギの血を含み、あなたの魂を永遠に堕落させる。
上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる。

548 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:02:03.11 ]
時間を分単位とかで切り上げしたいのですが
どうやったらいいのでしょうか


549 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:03:35.82 ]
小学生のさんすうレヴェルだろ
プログラミング以前の問題だ



550 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:12:32.51 ]
20:11:15 を 20:12:00 に切り上げたいのか?
まさか、お前。。。釣りじゃないよな?

551 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:15:23.95 ]
>>544
君は、utf8フラグまで戻って出直してください。

552 名前:デフォルトの名無しさん [2012/02/11(土) 21:24:59.13 ]
>>548
失せろゴミ
ここはPerlの質問スレであって
幼稚園児並の知能しかない低能に手取り足取り教える場所じゃねぇんだよ

553 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:31:39.83 ]


554 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:37:48.24 ]
>分単位とか
「とか」って言ってる辺りで察してやれよ、頭が遅れてるんだろ。

555 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:40:18.52 ]
>>548
my $time = time;
$time = $time - ($time % 60) + 60;

お前ら、更年期障害ですか。

556 名前:デフォルトの名無しさん [2012/02/11(土) 21:43:40.50 ]
>>548=ゴミクズ

557 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:44:48.79 ]
>>555
更年期障害はオマエだよ
その時間とやらの書式なにも考えてねーだrks

558 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:47:50.11 ]
>>557
秒数から加工する知恵がでないお前が頭悪いだろ。

559 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:53:48.33 ]
>>558
どこにも秒数なんて書いてねーだろ
お前には別世界でも見えてんのかアホ




560 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:55:28.93 ]
>>559
お前プログラムした事あるの?
あそこから希望の書式に加工できないの?
答えれないのなら質問以外でレスするなクズ

561 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:56:54.21 ]
>>555
元々00秒の値でやってみなw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<232KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef