弐ch編集のPerl講座 (231レス)
弐ch編集のPerl講座 http://medaka.5ch.net/test/read.cgi/php/1013725517/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
17: 弐ch編集 [sage] 02/02/15 11:37 ID:??? my %tmp = (); @tmp{qw(no name com)} = split(/<>/); my $log = \%tmp これで$tmp{'no'}は$log->{'no'}とも表せるようになった。リファレンスだ。 \%tmpで%tmpのアドレスが取得でき、それが$logに代入されているわけだが… 簡単には「○○のところの」が$logに入ったわけだ。$logの指すところのno。つまり$tmp{'no'}。 だから$log->{'no'}を変更すると$tmp{'no'}も変わる。 my %log = %tmp; の場合、これは単純なコピーなので$log{'no'}を変更しても$tmp{'no'}は変わらない。別物だから当然だ。 %tmpはマイドキュメントにあるフォルダで$logはデスクトップに置いた%tmpへの ショートカットだと言えば分かるか?%logはデスクトップにフォルダごとコピーしたってとこだな。 my $log = []; my $log = {}; これで@tmpや%tmpなどを使わずいきなりリファレンスが作れる。上は配列、下はハッシュ。 $logを元のもののように扱うのには@$log、%$logなどとすればいい。簡単だ。 見やすく分かりやすくする意味で@{$log}、%{$log}としてもいいかもな。 具体的には push(@{$log}, 100); @{$log}{qw(no name com)} = split(/<>/); などと使える。 push(@{$log}, \%tmp); とした時に$log->[0]->{'no'}は$tmp{'no'}だということが分かれば上出来だ。 そうそう、$log = \$textなら$$logか${$log}、な。 で、なぜこんなものを使うかという話だが。一番単純にはメモリだ。 上の例でいえばHDDがもったいないからということ。 まあ他にもいろいろあるがそれは使っていくうちに分かるだろう。 使える場面では使っていったほうがいい。 http://medaka.5ch.net/test/read.cgi/php/1013725517/17
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 214 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.005s