タグ

ブックマーク / negation.hatenadiary.org (1)

  • [Prolog][Tips] 美しいPrologのコードの書き方(1) - negationの日記

    Prologのコードを美しく書くにはどうしたらいいか?。少々ボリュームがあるので、根気のある人だけ読んでくださいw。でもきっとためになります。 まずPrologを書くに当たって、重要なことは「引数の性質が何であるか」と言うことです。 Prologの引数には3つの性質があります。 定数としての引数。これはhoge(+bar)とSWI-Prologのhelpに書かれています。 処理した後に値を返すための引数。hoge(-bar)。 上記どちらでも良い引数。hoge(?bar)。 たとえば、times(X,Y,Z)という述語を考えてみます。これは「X*Y=Z」という意味としましょう。このコードは以下のようになります。 times(X,Y,Z):- Z is X * Y. あ、「`*’使ってたら意味ないじゃん」というつっこみは無しでw。例ですからw。このときもし ?- times(X,Y,3).

    [Prolog][Tips] 美しいPrologのコードの書き方(1) - negationの日記
  • 1