過去の日記

2005-03-30 [長年日記]

Perl 配列や連想配列のデリファレンスとそれらの要素へのデリファレンス [tech]

完全に個人的なメモ。今このメモを見ながら(&追記しながら)勉強中。

配列のリファレンス
  @array = ('a', 'b');
  $array_ref = \@array;
デリファレンス
  print @$array_ref; #=> 'ab'
スカラーコンテキストでデリファレンス
  print @$array_ref . ''; #=> '2'
配列の要素のデリファレンス
  print $array_ref->[0]; #=>'a'
  print $array_ref->[1]; #=>'b'
リファレンスでない時(参考)
  print $array[0]; #=>'a'

連想配列のリファレンス
  %hash = ('key0'=>'var0', 'key1'=>'var1');
  $hash_ref = \%hash;
デリファレンス
  print %$hash_ref; #=> 'key0var0key1var1' 順番はこうとは限らない
スカラーコンテキストでデリファレンス
  print %@hash_ref . ''; #=> '2/8'
連想配列の要素をデリファレンス
  print $hash_ref->{'key1'}; #=>'var1'
リファレンスでない時(参考)
  print $hash{'key0'}; #=>'val0'


デリファレンスの範囲を明に指定したい時は {} で括る。
$hash_ref->{hoge} が配列のリファレンスなら @{ $hash_ref->{hoge} } で配列となる。
ただ、デリファレンスと括弧の固まりで訳が判らなくなるぐらいなら
  $array_ref = $hash_ref->{hoge};
  @array = @$array_ref;
の様にいったんリファレンスであることが明に判る変数に代入した方がマシ。


無名の配列は (1,2,3)
無名の配列へのリファレンスは [1,2,3]
無名の連想配列は ('key0'=>'val0', 'key1'=>'val0')  ただし記法は他にもある
無名の連想配列へのリファレンスは {'key0'=>'val0', 'key1'=>'val0'}

答えてみよう [etc][novel]

ライトノベル好きに「初めての○○」10の質問

鍵の壊れた部屋で見る夢

Q.

  1. 初めて読んだ角川スニーカー文庫作品は何ですか?
  2. 初めて読んだ電撃文庫作品は何ですか?
  3. 初めて読んだ富士見ファンタジア文庫作品は何ですか?
  4. 初めて読んだ富士見ミステリー文庫作品は何ですか?
  5. 初めて読んだファミ通文庫(ログアウト文庫)作品は何ですか?
  6. 初めて読んだ集英社スーパーダッシュ文庫(集英社スーパーファンタジー文庫)作品は何ですか?
  7. 初めて読んだMF文庫J作品は何ですか?
  8. 初めて読んだコバルト文庫作品は何ですか?
  9. 初めて読んだティーンズハートorホワイトハート文庫作品は何ですか?
  10. 初めて読んだライトノベル作品(ヤングアダルト/少女小説)のレーベルは何ですか?


A.

  1. ロードス島戦記―灰色の魔女 (角川文庫―スニーカー文庫)(水野 良/出渕 裕/安田 均) か?
  2. ブギーポップは笑わない (電撃文庫 (0231))(上遠野 浩平/緒方 剛志)
  3. 雷(いかづち)の娘シェクティ〈1〉天雷(あまがみ)の剣(つるぎ) (富士見ファンタジア文庫)(嵩峰 龍二/末弥 純) か?
  4. レンテンローズ (富士見ミステリー文庫)(太田 忠司/天広 直人) これは元々太田忠司さんのファンだから。
  5. ふわふわの泉 (ファミ通文庫)(野尻 抱介/御米椎) これも元々野尻抱介さんのファンだから。いや。ログアウト文庫を入れるのなら、暁のビザンティラ〈上〉 (ログアウト冒険文庫)(菅 浩江/斉藤 友子)暁のビザンティラ〈下〉 (ログアウト冒険文庫)(菅 浩江/斉藤 友子) が先になってしまうか。
  6. 狼たちの黄昏 (集英社スーパーファンタジー文庫)(藤原 京/鈴木 雅久) 表紙に惹かれて。藤原京さん、大ファンです。もう戻ってこないのでしょうか?
  7. 読んだ覚えは無い。
  8. いつか猫になる日まで―SFコメディ (集英社文庫―コバルトシリーズ 75A)(新井 素子) 始めて自分の小遣いで買った本(のうちの1冊)。新装版が出るという予告があったけどどうなった?
  9. 読んだ覚えは……無いんだけど、ホワイトハートは何か読んでるのがあるかも?
  10. 上にも書いた通り、コバルト文庫。

それはG4 Cubeの時にも [news][etc]

っと、ここでMac mini本体を取り出した箱の底に鎮座する、やけに大きな物体が気にかかる。そこから出てきたのはACアダプタ。やけにでかくないか、これ。Mac mini本体の4分の1ほどの体積があるのでは?

ITmedia PCUPdate:ボクが初めて触るMac──Windowsユーザーが使うMac mini(その1) (1/2)

それはG4 Cubeの時にも同じだったので、Macファンなら発表時点で当然予想していたことだろう。

SMTP over SSL/TLS [news][memo]

@IT:25番ポートの攻防

「SMTP over SSL/TLS」というキーワードをメモ。
記事自体は最近のISPの、SMTPをどう扱うか? という動向の話。

RSSリーダー [tech]

私は1日に1〜2回程度しか、RSSの自分用ブックマークをチェックしない。チェックには

Address Error

を使っている。


といってもそのまま使っているのではなくて、このソフトを起動すると作成されるhtmlファイルを読んでいる。
つまりRabbit Tickerの起動→ブラウザのブックマークから file:///C:/Progra~1/RabbitTicker/rttemp.html を表示、という手順で読んでいる。
CSSがちょうど読みやすい感じで気に入っている。

あと、Rabbit Tickerは朝一回起動して後は時間が空いた時に読む、というような使い方もしていて、ネットワークトラフィックを発生させないで済む様にしているのでサーバにもやさしいかも。


RSSとトラフィックの問題について提議しているサイトはこちら。

ちょっとしたメモ - RSSとトラフィックの問題

パケットキャプチャしてみると、Rabbit TickerはIf-Modified-Since:のヘッダを付けて送っているので、まだマシな方のリーダだと思う。
ちょっとこの辺は明るくないので「思う」という表現だ。RSSを読む時に「この日付以降のものをちょうだい」という様なリクエストの仕方はできるのだろうか?


(あと、rdfとRSSをごっちゃに考えてしまっているので、その辺で私の勘違いがあるかもしれないが大目に見てほしい。)