2011-11-28 21 views
1

我想知道在序言中我想用於字符列表的char *的語法。我已經使用list = integer *作爲整數列表,但是我不知道序言中字符列表的sysntax。什麼是序言中的char *的語法

+1

對於ISO Prolog的,請看[這個答案] [1]。 [1]:http://stackoverflow.com/questions/8264699/what-is-the-difference-between-and-in-prolog/8269897#8269897 – false

+3

在Prolog沒有這樣的東西作爲指針或鍵入變量,所以在序言中沒有像「char *」那樣的東西。但是,如果你告訴我們你想在更高層次上做什麼,我們將能夠告訴你如何在Prolog中做到這一點。 – salva

回答

0

在SWI-Prolog的,你必須使用_string_to_list/2創建的字符串:

- A = 「ABCD」。
A = [65,66,67,68]。

? - string_to_list(A,「ABCD」)。
A =「ABCD」。

+0

OP正在使用Turbo Prolog。你可以告訴,因爲他定義了一個'list = integer *',這是Turbo Prolog特有的 – gusbro

0

我猜你正在使用Turbo Prolog。 在這種情況下,已經有一個用於字符串的預定義域字符串

這裏有雲的使用例子:

predicates 
    test(string, string). 

clauses 
test(X, Z):- concat("Hello ", X, Z). 

輸出示例:

Goal: test("World",Z). 
Z=Hello World 
1 Solution 
+0

Downvoter:小心解釋? – gusbro