Hatena::Grouprubyist

たばさの RSSフィード

01/09(水) 2008

memo

| memo - たばさの を含むブックマーク はてなブックマーク - memo - たばさの

/name 200 def

=>/により名前「name」をスタックに置く。「200」をスタックに置く。

 defでスタックから値を取り出しnameに200を定義する。

/name { 200 == } def

=>nameに実行可能配列「200 ==」(200を表示)を定義。

定義した手続きはスタックの値も使えるので

/sanbai { 3 mul } def 
400 sanbai ==

=>1200を表示。

となる。


defは現在の辞書userdictにkeyと値を登録する。

ローカルに使うときは新しい辞書に登録する。

3 dict

3つの要素を持つ新しい辞書。まだオペランドスタックにある。

3 dict begin

beginで辞書スタックに移動される。いらなくなったらendでその辞書は破棄される。

手続きなどでスタック上の値に名前をつけるにはexchでスタックトップの2つを入れ替える。

/kaki exch def
4 7 le { 5858 == } if

if文。4<7なので5858が表示される。

3 3 eq { 33 == } { 44 == } ifelse

if-else。3イコール3なので33が表示される。

4 { 4321 == } repeat

4回{}内を実行する。(4321を4回表示)


参考

http://monado.14.dtiblog.com/blog-entry-30.html

トラックバック - http://rubyist.g.hatena.ne.jp/hatecha/20080109
カレンダー
<< 2008/01 >>
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
archive Error : RSSが取得できませんでした。