[kansaipm] Re: [Q] hash

Kiyoka Nishiyama kiyoka at netfort.gr.jp
Wed Jul 5 11:10:44 CDT 2000


kiyokaです。

From: Smeet Eday <smeet at whiz.nu>
Subject: Re: [kansaipm] [Q] hash
Date: Wed, 5 Jul 2000 00:55:59 +0900

> this is smeet.
> # how do you do?

I'm fine. thank you. ^_^

> > [Q] hash にキーを二つとか三つ指定したいのですが可能なのでしょうか?
> 
> 可能です。
> 
> >    $version     = "1.00";
> >    $filename    = "filename"
> >    $val = $hash{ $version }{ $filename };
> 
> 粗な配列なんかを省エネで書きたいときの技術のひとつです。
> 
>    $matx{0}{2} = 100;
>    $matx{1}{3} = 128;
>    $matx{3}{3} = 256;
> などは、おすすめの書き方だと思います。

うほー、できるんですね。

> >   ふつうはどのように記述するのでしょうか?
> >   やっぱり、hash のキーを文字列連結して
> 
> これも可能ですが、debug 時に "げー"ってことが
> 頻発しますので、くれぐれも、キーの桁数を
> 固定長にして、空の キーの扱いを丁寧に行なうと
> けっこう使えます。
> 
> >    $val = $hash{ $filename . " " . $range };
> > 
> >   が普通なのでしょうか?
> 
> どちらかは、その扱いたい問題によりますよね。みなさん。

わかりました。

> > [Q] ちなみに私はリファレンスの知識はゼロなので、
> >     それならスッキリ書けるよということなのでしょうか?
> 
> すっきりする場合もありますが、書いたものが
> あとで読めないことも多いですから、
> 3日過ぎても、自分で読めるように書いたほうが
> スッキリだと思います。(^^

やっぱり、リファレンスは読み安さにおいては、
いい噂はきかないので、まだ手をださないようにします。
できれば知らずにいきたい... ^_^;

> > [Q] もしかして、ハッシュの1要素に一つのハッシュが格納できるのでしょう
> >     か?(できるわけないか...)
> 
> 活けると思います。
> 
> > # なんかでたらめなコードをいっぱい書いてみたけど、Perlやったら動きそう
> > # な気がするから恐い ^_^;
> 
> そこが、やはり魅力ですよね。
> # 検証は必要ですけども。

Perlってすごいですね。
$hash{ $a }{ $b }; が一番後でよみやすそうなので、それでやってみます。
# もうそろそろ ラクダ本買い直そっと... (まだ、Perl4版しか持ってない...)

ありがとうございました。
では。
+---
 Kiyoka Nishiyama <kiyoka at netfort.gr.jp>
 http://www.netfort.gr.jp/~kiyoka/



More information about the Kansai-pm mailing list