※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。以下のプログラムを見てみましょう。func(['A','A','A','A','A']).func([]).func(['A'|L]):-write('a'),func([L]).述語funcの中に'A'が入っていれば小文字のaをコンソールに記述するプログラムです。func([[A,A,A,A]])お気づきでしょうか?変数Lはリストなので更にリストを付けて再帰しているため、2回目のfuncのアリティが2重のリストになっています。12今度は上手くいきました。次にA以外の文字が来たら何もしないといった処理を追加してみましょう。ような処理が必要です。この時、追加する位置が異なると上手く動作しません。7prologは述語を上から順に探してユニファイしようと試みるので、この場合先頭の一文字が何でもいいので無視する2で成功してしまうため、3まで行かずに何もしないで成功して終了します。第3定義節:無条件と言った書き方をします。プライバシーポリシー。