Ruby:◇リテラル:シンボル ・・・ 【Ruby:8.2歩目】
◇リテラル:シンボル
リテラル。「定数」という意味合いとは少し違うようだが、一応
「ソースファイル中に直接記述されたオブジェクト」だと理解して
いるがその中で、
Ruby に特徴的なリテラルとして
シンボル がある
Ruby では
・文字列の先頭に : をつけ
:hello などと利用する
p a #=> :hello # :hello が表示される
・表現力は制限される(変数名やメソッド名に使える文字だけ)
・負荷が軽く、実行速度やメモリ使用量の効率が良い
・そのため、ハッシュ(後述)のキーとしてよく使われる
・・・ということだ。ここポイントっぽいな。
※phpの場合
るとき、そのときに中間要素として「シンボルテーブル」なるものが介在
していることは知っている。
$a='hello'; というとき、
シンボルテーブル
変数名 a
No #0001 というものがあり
格納庫として
No #0001
値 hello
型 string
という構成があるのだそうだ。シンボル、近い、かもしれないが、ちょっと違うかな。
※ハッシュ も シンボル も 要注意だな。
第8.3歩
◇リテラル:正規表現
正規表現リテラル。表し方は
(例)
r = /abc/
p r #=> /abc/
など。
つまる /〜/ を使用することによって
・正規表現オブジェクトを生成することができるのだ。
第8.4歩
◇リテラル:配列
配列リテラル。表し方は
(例)
a = [0,1000,"hello"]
p a #=> [0,1000,"hello"]
p a[2] #=> hello
など。
つまる [〜] を使用することによって
・配列オブジェクトを生成することができる。
第8.5歩
◇リテラル:ハッシュ
ハッシュリテラル。表し方は
(例)
schedule = {
8 => "朝ごはん"
12 => "昼ごはん"
15 => "おやつ"
18 => "晩ごはん"
}
つまる {〜} を使用することによって
・ハッシュオブジェクトを生成することができる。
「ハッシュ」 このことばで一番最初に思い浮かべるのは
あの古のSuperRockBand「ディープパープル(Deep Purple)」の
デビューアルバムだ。(1968年 だ!)
「ハァ〜ッシュッ、ハァ〜ッシュッ ・・・」という息遣いが
耳に残っている。懐かしいなぁ。
(すみません。関係ないお話・・・
若い方には特に関係ないよね)
さて、「ハッシュ」。
hash 高速データ検索アルゴリズムの一つ。 プログラミング言語における「連想配列」
という定義で知られるが、
「ハッシュ値」
ハッシュ関数と呼ばれる計算方法を使って、
ファイルやデータから割り出した短いデータを用い
Web上にあるデータとダウンロードして保存したデータが同じものであるかどうかを、
ハッシュ値をもとに確認 ・・・ などと使う
現時点では完全に理解てきていない、な。
「ハァ〜ッシュッ、ハァ〜ッシュッ ・・・」というリフレインだけだ。






