0
我知道我們可以使用atom_concat(Para1,Para1,Final).
連接原子,Prolog中是否有任何可用於執行反向操作的函數,意思是它將輸入視爲原子並提供兩個原子,其中一個是原子的最後一個字符其次是剩下的一個。例如。關於級聯的查詢
?- rev_atom_concat(likes,Para1,Para2).
Para1 = like, Para2 = s
我不知道這是真的可能或不..?
我知道我們可以使用atom_concat(Para1,Para1,Final).
連接原子,Prolog中是否有任何可用於執行反向操作的函數,意思是它將輸入視爲原子並提供兩個原子,其中一個是原子的最後一個字符其次是剩下的一個。例如。關於級聯的查詢
?- rev_atom_concat(likes,Para1,Para2).
Para1 = like, Para2 = s
我不知道這是真的可能或不..?
您可以使用sub_atom。 sub_atom提取一個原子的一部分。語法是:
sub_atom(+Atom, ?Before, ?Len, ?After, ?Sub)
原子是最初的原子; Sub子原子。提取以這種方式工作:
<************************ Atom ************************>
<***** Prefix *****><***** Sub *****><**** Suffix *****>
<-- before chars --><-- len chars --><-- after chars -->
例如,提取的最後一個字符:
?- sub_atom(likes, _, 1, 0, S).
S = s.
對於爲例,提取所有字符,但最後一個:
?- sub_atom(likes, 0, _, 1, S).
S = like.
@larsmans:謝謝,我沒有意識到這個問題... – anilonwebs 2011-02-27 16:15:38