2008-01-11から1日間の記事一覧

R6RSのfold

R6RSからはfoldの仕様が普通になるようだ。よかった。 畳み込み関数の比較 (fold / accumulate / inject / reduce) - blanket sky shiro SchemeもR6RSではfold-left/fold-rightとなって、Haskellのfoldl/foldrと同じになります。 srfi-1のfoldはちょっと特殊…

リスト内包表記の舞台裏2

以下のリスト内包表記が実際にはどう動いているのかを確認する。 [x|x<-[1..9],x<5]内包表記をdo記法に変形 do x<-[1..9]; guard(x<5); return xdo記法を >>= 演算子に変形 [1..9]>>=(\x-> guard(x<5)>>=(\_-> return x))guard を if に変形 [1..9]>>=(\x-> …

ベクトル関係追記

無理にJ言語に対応させたやり方をしていたがR言語ならではのやりかたもあった。 前回のインデックスに対応する場所をFizzで置換する処理 > a = 1:15 > replace(a,a[a%%3==0],'Fizz') [1] "1" "2" "Fizz" "4" "5" "Fizz" "7" "8" "Fizz" "10" [11] "11" "Fizz…