Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20140609210202_factor_memo |
factor_memo
auto-use自動的に必要なライブラリを読み込む。 IN: scratchpad auto-use IN: scratchpad auto-use 10 '[ 10 sq _ / ] call . 1: Note: Added "fry" vocabulary to search path 10 http://docs.factorcode.org/content/word-auto-use,parser.html
Word の定義を参照する\ と see を組み合わせる。 IN: scratchpad auto-use \ sq see USING: kernel ; IN: math : sq ( x -- y ) dup * ; inline http://docs.factorcode.org/content/word-see,see.html
Stack の中を見るだけStack の中をいじらずに見るだけなら .s を使う。 IN: scratchpad auto-use 1 2 3 --- Data stack: 1 2 3 IN: scratchpad auto-use .s 1 2 3
ifif は TOS の真偽を評価してクォーテーションを評価する。 TOS は消費される。 また、f 以外は t である。 空のクォーテーションや空の配列に至っても t である。 IN: scratchpad auto-use 1 [ "T" ] [ "F" ] if print T IN: scratchpad auto-use 0 [ "T" ] [ "F" ] if print T IN: scratchpad auto-use -1 [ "T" ] [ "F" ] if print T IN: scratchpad auto-use "" [ "T" ] [ "F" ] if print T IN: scratchpad auto-use [ ] [ "T" ] [ "F" ] if print T IN: scratchpad auto-use { } [ "T" ] [ "F" ] if print T IN: scratchpad auto-use t [ "T" ] [ "F" ] if print T IN: scratchpad auto-use f [ "T" ] [ "F" ] if print F
timesTOS の数値を回数としてクォーテーションを繰り返し評価する。 IN: scratchpad auto-use 3 [ "I might be wrong." print ] times I might be wrong. I might be wrong. I might be wrong.
each配列の各要素に対して処理を実行したいときは each を使う。
each は配列の各要素を push する動作を伴う。 IN: scratchpad auto-use { 1 2 3 } [ ] each --- Data stack: 1 2 3 IN: scratchpad auto-use clear IN: scratchpad auto-use 10 { 1 2 3 } [ over swap - . ] each 9 8 7 --- Data stack: 10
mapmap はクォーテーションを適用した配列を push する。 IN: scratchpad auto-use { 1 2 3 } [ sq ] map . { 1 4 9 }
filterfilter は配列をクォーテーションでフィルターする。 IN: scratchpad auto-use { 0 1 2 } [ zero? not ] filter . { 1 2 } http://oss.infoscience.co.jp/factor/docs.factorcode.org/content/article-cookbook-combinators.html
シンボルのダイナミックスコープSYMBOL: で宣言したシンボルはダイナミックスコープを持つ。 wirh-scope はスコープを局所化する。 IN: scratchpad auto-use SYMBOL: foo IN: scratchpad auto-use "outer" foo set [ "inner" foo set foo get print ] with-scope foo get print inner outer http://oss.infoscience.co.jp/factor/docs.factorcode.org/content/article-cookbook-variables.html
|
© Shin Nakamura/BasicWerk 2014 |