-1
A
回答
0
假設X和Y是你想使用這兩個詞,而Z是輸出,我認爲我們首先需要通過驗證兩個詞開始,而不是僅僅十。今後,你的名字()■當我們只對每個單詞的第一個字母感興趣時,將每個單詞分成三個不同的變量。
記住,名稱()取入的原子和一個列表,如圖文檔中,像這樣:
name(Atom,List).
這將需要一個單個原子,把它變成的ASCII代碼的列表,作爲所以:
?- name(abc,A).
A = "abc"
從這裏,我們可以提取使用熟悉的[A | B]列表的頭列表格式,像這樣:
?- name(abc,[A|B]).
B = "bc"
A = 97
如上所示,97是'a'的ASCII碼。這也是相反的。具有用於Atom和變量的列表ASCII碼的列表,你可以(基本上)連接字符串,像這樣:
?- name(A,[97,98,99]).
A = abc
知道了這一切,並盡一切兩次,這將導致我們:
?- abc = X, def = Y, name(X,[A|C]), name(Y,[B|D]), name(Z,[A,B]).
Z = ad,
D = "ef",
B = 100,
C = "bc",
A = 97,
Y = def,
X = abc
盤旋迴你的情況,我們有像這樣:
?- maggie = X, girl = Y, name(X,[A|C]), name(Y,[B|D]), name(Z,[A,B]).
Z = mg,
D = "irl",
B = 103,
C = "aggie",
A = 109,
Y = girl,
X = maggie
相關問題
- 1. 拆分後的字符串
- 2. 將字符串拆分爲字符串
- 3. 將字符串拆分爲字符串
- 4. 將字符串列表拆分爲字符串列表列表
- 5. 將字符串拆分後一個字
- 6. 如何將字符串列拆分爲4個字符串列?
- 7. C#拆分字符串 - 將字符串拆分爲數組
- 8. 之後拆分字符串?
- 9. Elisp拆分字符串函數來拆分字符串。字符
- 10. 在Go中的字符串列表中拆分字符串
- 11. 將lua字符串拆分爲字符
- 12. php將字符串拆分爲字符
- 13. PatternSyntaxException將字符串拆分爲「*」字符
- 14. JavaScript將字符串中的兩個變量拆分字符串
- 15. 如何將字符串拆分爲java中的子字符串
- 16. 將字符串拆分成haskell中的子字符串
- 17. 將字符串拆分爲python中的單獨字符串
- 18. 將CSV字符串拆分爲PHP中的多個字符串
- 19. 如何將字符串拆分爲iOS中的子字符串?
- 20. 將字符串拆分爲「。」
- 21. 將字符串拆分爲「|」
- 22. 未能按字符拆分字符串中的字符串
- 23. 從字符串拆分字符串
- 24. 用字符串拆分字符串?
- 25. 字符串操作:將此字符串拆分爲 - 字符?
- 26. 將字符串生成器拆分爲字符串字符串特定字符
- 27. 拆分OCaml中的字符串列表
- 28. 如何將字符串拆分爲字母字符串和數字字符串?
- 29. 如何將字符串拆分爲列
- 30. 將字符串拆分爲新列
感謝結算的概念。這很有幫助。 – ela
再次感謝..你是一個天才.. – ela
@ela由於許多原因(如果你覺得你需要知道,我可以進入它),最好使用更多的標準謂詞。使用'sub_atom/5'和'atom_chars/2'可以實現同樣的功能:'? - sub_atom(maggie,0,1,_,A),sub_atom(girl,0,1,_,B),atom_chars(R ,[A,B]) – 2015-10-14 05:56:20