从字符串转换为列表

时间:2015-05-03 09:32:45

标签: prolog

我开始玩prolog并有这个问题: 我怎么能在prolog中写这个

convert(this is the first program.,S) --> S = [this,is,the,first,program].

我试过这样的事情:

convert(Wordlist):-
get0(Char),
getrest(Char,Wordlist).

getrest(46,[]):-!. %end of sentence

getrest(32,Wordlist):-!, %end of word scip and continue
convert(Wordlist).

getrest(Letter,[Word|Wordlist]):-
getletters(Letter,Letters,Nextchar),   %read letters of current word
name(Word,Letters),
getrest(Nextchar,Wordlist).

getletters(46,[],46):-!.
getletters(32,[],32):-!.

getletters(Let,[Let|Letters],Nextchar):-
get0(Char),
getletters(Char,Letters,Nextchar).

并且它有效但我没有得到我想在convert(the first program.,S).这样的子句中转换的句子在上面的解决方案中我必须从prolog控制台读取字符串。

0 个答案:

没有答案