Perl_memo3


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

perlめも3

ハッシュ。

リストを%hに込めるとハッシュになるが{=>,=>}みたいな形式で評価されてもハッシュになる。
{}内の=>と,は区別されるみたいで、リストと違う。
%h=(hash,10);
これだと
p$h{hash};#10
だが、
$h={hash,10};
はkeyのhashを入れても何も返ってこない。

qw

クオート("hgoe","hige","huga")をもっと見やすく。
qw! hoge hige huga !;

qwの直後の文字で挟むことによって実現。
評価されると、文字列のリストになる。

push,pop演算子

可変な配列なので
push@array,10;
で10を@arrayの最後尾入れる。
pop@array;
でarrayの最後尾から値を得る。前から得るときはshiftね。
unshift@array,10;
では先頭へ10を詰める。

詰めるものは配列でもOK.

reverse演算子

@array=reverse@array;
逆になった配列が"返される"

ラマ本のスカラコンテキストとリスト~・・・の下り

式がどんな場所にあるかで、意味が変わるらしい。
S + something;
sort something;
だと違うと。

よくわからんけど場所というよりは何によって解釈されるかの話でいいのかな。
演算子、通常の演算式、関数、リスト、他もろもろ。
だからその要素を包んでるモノが何なのかを意識する必要があるみたいですね。

package

perlはインタプリタなので、マシンを直接書いた命令で叩ける。
packageが次に呼ばれるまで名前空間が継続、
ただし{package hoge; ...}となっていた場合}以降は別の名前空間となる。

(0..10)

..を利用すると..を補完したリストを作れる。
Xpythonのrange(0,10)みたいなヤツ。
もうちょっとちゃんと調べないとイカン。
@arr=(0..10);

(10..0)は動作してくれなかったので
reverse((0..10))
にする。