Prolog 写経記 その 63 counter_inc/2
(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.
- 作者: ボグダンフィリピッチ,中島誠,伊藤哲郎
- 出版社/メーカー: 海文堂出版
- 発売日: 1990/08
- メディア: 単行本
- 購入: 4人 クリック: 33回
- この商品を含むブログ (68件) を見る
counter_inc/2
を写経します.解説
counter_inc(Count, I)
はカウンタCount
の値を 1 増やし,増やす前の値I
を返す.
ふむ.
モード
counter_inc(+, +).
ふむ.
定義
では,こいつの定義を写経しませう.
counter_inc(Count, I) :- recorded(counter, counter(Count, I), Ref), erase(Ref), I1 is I + 1, recorda(counter, counter(Count, I1), _), !.
基本的に counter_dec/2
と同じ.以上.
注記
カウンタには
counter_set/2
によって初期値が与えられている必要がある.そうでなければcounter_inc
は失敗する.
ふむ.
例
では使用例を写経しませう.
test_increment :- counter_set(i, 1), repeat, counter_inc(i, N), write(N), tab(1), N == 7.
またまたテスト用の述語が登場.
今度のカウンタの名前は i
.デクリメントの counter11
とは違って,随分手抜きな名前だなぁ.
さっそく動かしてみませう.
5 ?- test_increment. 1 2 3 4 5 6 7 Yes
ふむ.