Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Prolog データベースにクエリを実行する場合、大文字で始まる用語を変数として使用することがよくあります。ただし、クエリの制約の 1 つは、人物の所在地が「ダラス」でなければならないということであり、これらの仕様を満たすデータベース内のすべての情報をクエリしたいとします。Dallas が値を格納する変数として解釈されず、代わりに文字列として解釈され、クエリの制約として使用されることを正しく確認するにはどうすればよいでしょうか?
Dallas を一重引用符 : で囲むだけです'Dallas'。ところで、それは文字列ではなくアトムを形成します。たとえば、デフォルト設定の Swi-Prolog では、文字列は次のようになります。
'Dallas'
?- X = "hello". X = [104, 101, 108, 108, 111].
原子は
?- X = 'hello'. X = hello.
どちらも独自の述語セットとセマンティックを持っています。