弐ch編集のPerl講座 (231レス)
上
下
前
次
1-
新
17
:
弐ch編集
02/02/15 11:37 ID:???
AA×
[240|
320
|
480
|
600
|
原寸
|
JPG
|
べ
|
レス栞
|
レス消
]
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
これではとも表せるようになったリファレンスだ でのアドレスが取得できそれがに代入されているわけだが 簡単にはのところのがに入ったわけだの指すところのつまり だからを変更するとも変わる の場合これは単純なコピーなのでを変更してもは変わらない別物だから当然だ はマイドキュメントにあるフォルダではデスクトップに置いたへの ショートカットだと言えば分かるか?はデスクトップにフォルダごとコピーしたってとこだな これでやなどを使わずいきなりリファレンスが作れる上は配列下はハッシュ を元のもののように扱うのにはなどとすればいい簡単だ 見やすく分かりやすくする意味でとしてもいいかもな 具体的には などと使える とした時にはだということが分かれば上出来だ そうそう ならかな でなぜこんなものを使うかという話だが一番単純にはメモリだ 上の例でいえばがもったいないからということ まあ他にもいろいろあるがそれは使っていくうちに分かるだろう 使える場面では使っていったほうがいい
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 214 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.036s