Gauche > Archives > 2016/09/25

2016/09/25 02:05:51 UTCshiro
#
ジェネレータでデータを流すパイプライン中で「ある条件が満たされたらonになり、別の条件が満たされたらoffになる」というオペレータを入れたんだけど名前を迷ってる。sedやawkで言うrange patternなんだけど、rangeは別の意味で使っちゃってるし。
#
PerlやRubyのflip-flopオペレータも目的は同じなんだけど、ブール値のon/offじゃなくて流れそのものを開閉してる感じだからflip-flopというのもどうかなあ、と思って、列のうちあるところから別のところまで、だからintervalにしてみた。https://github.com/shirok/Gauche/commit/d826a7d4639bd5afee1eba960b235853d664652e
#
でもintervalって見ると値そのものがある範囲内にあること、というふうにも取れてしまうかもしれないなあ、とも感じる。(ginterval (^x (<= 0 x)) (^x (<= x 10)) gen)と書いてあった場合、「0以上10以下のデータを抜き出す」と読めてしまわないか? (それは (gfilter (^x (<= x <= 10)) gen) でできる)