-PR-
解決済み

ハッシュって?

  • すぐに回答を!
  • 質問No.56898
  • 閲覧数237
  • ありがとう数6
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 40% (100/250)

Perlで、「ハッシュ」という概念が出てきますが、
どのような意味ですか?

どんなプログラムを作成する時に便利なのでしょうか?

なるべく早くお答えいただいた方からポイントを差し上げます。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.4
レベル8

ベストアンサー率 20% (3/15)

上記の人の方の通りハッシュは連想配列という意味です。

で、ハッシュと配列のどちらが良いか、という質問に対しては、どちらも良いし、どちらも悪い。ということです。
ハッシュには、順番の指定が出来ない。(一番最初に呼んだデータが、一番最初に出力されない)
配列は、キーとデータを取得しにくい。ということです。

しかし、ハッシュにデータを格納して、そのハッシュを配列の中に入れてしまえば、ハッシュに順番が与えられるのです。

下記の場所で検索か、質問をしてみると良いです。ためになりますよ。
お礼コメント
u16

お礼率 40% (100/250)

なるほど

そういう観点で使えるんですね。

よく分かりました。
投稿日時 - 2001-03-31 13:22:58
関連するQ&A
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル10

ベストアンサー率 42% (80/189)

こんにちは. 参考URLにリンク張っておきました. また,CGIのカテゴリに書き込まれているので下のアドレスも参考になると思います(多少ハッシュについても載っています). http://www.parkcity.ne.jp/~chaichan/src/perl01.htm ...続きを読む
こんにちは.
参考URLにリンク張っておきました.
また,CGIのカテゴリに書き込まれているので下のアドレスも参考になると思います(多少ハッシュについても載っています).
http://www.parkcity.ne.jp/~chaichan/src/perl01.htm
お礼コメント
u16

お礼率 40% (100/250)

なるほど。
ハッシュ関数というのもあるんですね。
参考になりましたがちょっと私のほしい答えと違っちゃいました。
またお願いします。
投稿日時 - 2001-03-29 13:21:37


  • 回答No.2
レベル8

ベストアンサー率 40% (15/37)

ハッシュとハッシュ関数というのは別物ではないのですか。 下はPerl&CGIに関する解説サイトです。 ...続きを読む
ハッシュとハッシュ関数というのは別物ではないのですか。

下はPerl&CGIに関する解説サイトです。
お礼コメント
u16

お礼率 40% (100/250)

このホームページずっと昔、見たことがありました。

あらためて見てみるとよく分かりました。
どうもありがとうございます。
投稿日時 - 2001-03-29 13:23:02
  • 回答No.3
レベル11

ベストアンサー率 61% (157/255)

ハッシュとは「連想配列」もしくは「セット」といわれるものです。 「連想配列」のような概念が、「既存組みこみの変数」として実現されているのは珍しいかもしれません。Perl言語の特徴がかいまみえます。 C++やJavaなどの言語でも、「組みこみ変数」ではなく、「ライブラリ」として実現されています。 この連想配列とは一般的に「データベース構築」の基礎概念となるものです。 例えば、学校などでは、「 ...続きを読む
ハッシュとは「連想配列」もしくは「セット」といわれるものです。
「連想配列」のような概念が、「既存組みこみの変数」として実現されているのは珍しいかもしれません。Perl言語の特徴がかいまみえます。
C++やJavaなどの言語でも、「組みこみ変数」ではなく、「ライブラリ」として実現されています。

この連想配列とは一般的に「データベース構築」の基礎概念となるものです。

例えば、学校などでは、「学籍番号」なるものがあり、
「何番の生徒?」と問いただせば、「鈴木太郎」などというように、わかりますよね。その逆に「鈴木太郎?」と問いただせば、「何番の生徒」ということもわかります。

このように、それぞれの「学籍番号」とそれに対応した「生徒名」、この組み合わせ(連想)が、数多くある(配列)、ことから、連想配列というのです。
お礼コメント
u16

お礼率 40% (100/250)

ご丁寧な回答 ありがとうございます。

なかなか使いこなすのは時間がかかりそうです。

私はデータベースは全て配列@で扱っているのです。

「配列」よりも「ハッシュ」を使ったほうが便利なのは
どのような時なのでしょうか?

もしよろしければアドバイスください。
投稿日時 - 2001-03-29 13:26:22
  • 回答No.5
レベル11

ベストアンサー率 61% (157/255)

>私はデータベースは全て配列@で扱っているのです。 >「配列」よりも「ハッシュ」を使ったほうが便利なのは >どのような時なのでしょうか? そうですね~。はいれつでやっちまう、といってしまえば、それはそれでOKな気も・・・(というのは、PERL言語の配列は他の言語と違って、えらく柔軟性が高いと言うかなんと言うか、だいたい、型が違うものを配列にできるってどう言うこと? っていうか何の配列? と ...続きを読む
>私はデータベースは全て配列@で扱っているのです。
>「配列」よりも「ハッシュ」を使ったほうが便利なのは
>どのような時なのでしょうか?

そうですね~。はいれつでやっちまう、といってしまえば、それはそれでOKな気も・・・(というのは、PERL言語の配列は他の言語と違って、えらく柔軟性が高いと言うかなんと言うか、だいたい、型が違うものを配列にできるってどう言うこと? っていうか何の配列? とまぁ、C/C++系出身者などは思ってしまいますのですが・・・)

たとえば、次みたいなときに、ちょろっと使ってみるとか。。。
%ENGINE = (
yahoo => {
url => 'http://search.yahoo.co.jp/bin/search?',
keyword => 'p',
},
goo => {
url => 'http://www.goo.ne.jp/default.asp?',
keyword => 'MT',
},
infoseek => {
url => 'http://www.infoseek.co.jp/Titles?sv=JP&tds=0&',
keyword => 'qt',
},
google => {
url => 'http://www.google.com/search?lr=lang_ja&',
keyword => 'q',
},
fresheye => {
url => 'http://search.fresheye.com/?',
keyword => 'kw',
},
excite => {
url => 'http://www.excite.co.jp/search.gw?c=japan&lk=excite_jp&',
keyword => 's',
},
lycos => {
url => 'http://www.lycos.co.jp/cgi-bin/pursuit?cat=jp&',
keyword => 'query',
},
);

とかね。
お礼コメント
u16

お礼率 40% (100/250)

たびたびすいませんです。
Perlの配列って柔軟性が高いようなんで
いつもそうしてました。

いろいろなアドバイスありがとうございました。
投稿日時 - 2001-03-31 13:26:57
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ