findall 술어에서 문자열 프롤로그로 목록 변환

mkpisk

목록을 문자열로 변환하는 방법을 식별하는 데 어려움을 겪고 있습니다. 이 목록은 findall 술어의 출력입니다.

내 코드 아래를 참조하십시오.

edge(a,b).
edge(a,c).
edge(b,c).
edge(c,d).
edge(c,e).
edge(d,e).
edge(f,g).
edge(g,h).

route(X, Z, [])    :-  edge(X, Z).
route(X, Z, [Y|T]) :-  edge(X, Y), route(Y, Z, T).

allways(X, Y) :- findall(E, (route(X, Y, E), write(E), nl), _).
%allways(X, Y) :- findall(E, (route(X, Y, E), with_output_to(atom(_),maplist(write, E)), nl), _).
%allways(X, Y) :- findall(E, (route(X, Y, E), atomic_list_concat(E,'',A), nl), _),write(A).

내 출력

?- allways(a,e).
[b,c]
[b,c,d]
[c]
[c,d]

예상 출력

?- allways(a,e).
bc
bcd
c
cd

with_output_to 술어와 atomic_list_concat 술어를 사용하여 목록을 문자열로 변환하는 다른 방법을 시도했지만 아무것도 작동하지 않습니다.

TA_intern

"문자열"이라고하면 무슨 뜻입니까?

목록을 원자에 연결하기위한 많은 술어가 있습니다. 귀하의 경우에는 atomic_list_concat/2맞습니다.

그러나 문제는 findall을 작성하는 방법에 있으며 잘못된 변수를 캡처하고 있습니다.

?- findall(Str, ( route(a, e, E), atomic_list_concat(E, Str) ), Strs),
   forall(member(Str, Strs), format("~w~n", [Str])).

또는 목록이 전혀 필요하지 않으면 findall을 전혀 사용하지 마십시오.

?- forall(( route(a, e, E),
            atomic_list_concat(E, Str)
          ),
          format("~w~n", [Str])).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

프롤로그는 문자열 목록을 숫자 목록으로 변환

분류에서Dev

문자 목록 "List <Character>"에서 문자 배열 "char []"로 변환

분류에서Dev

프롤로그에서 문자열을 숫자로 변환

분류에서Dev

프롤로그에서 문자열을 숫자로 변환

분류에서Dev

목록 <문자열>에서 구분 된 문자열로 변환 목록에 <문자열>

분류에서Dev

Pyspark는 배열 목록에서 문자열 목록으로 변환

분류에서Dev

프롤로그 술어 findall / 3 및 member / 2 문제

분류에서Dev

kotlin에서 문자열을 정수 목록으로 변환

분류에서Dev

Python에서 문자열을 2 차원 목록으로 변환

분류에서Dev

Pandas DataFrame 내에서 문자열로의 목록 변환

분류에서Dev

Python의 목록 내에서 부울을 문자열로 변환

분류에서Dev

Kotlin에서 문자열을 정수 목록으로 변환

분류에서Dev

중첩 된 목록에서 구분 된 문자열로 변환

분류에서Dev

F #에서 문자열 목록을 float / ints로 변환

분류에서Dev

목록에서 C #의 문자열로 변환

분류에서Dev

목록에서 문자열로 변환하는 방법-Java

분류에서Dev

필드로 그 문자열을 포함하는 객체의 목록에 문자열 목록을 변환

분류에서Dev

Common Lisp에서 문자열 목록을 정수 목록으로 변환

분류에서Dev

문자열 목록을 파일에서 정수 목록으로 변환

분류에서Dev

jq의 출력을 목록 목록에서 구분 된 문자열로 변환

분류에서Dev

Python에서 문자열 목록을 순수 목록으로 변환

분류에서Dev

목록에 JSON으로 문자열로 변환

분류에서Dev

옵션 [목록 [문자열]]을 목록 [문자열]로 변환

분류에서Dev

findall / setof에서 여러 술어 프롤로그

분류에서Dev

정규식 공백 문자를 목록에서 문자열로 변환

분류에서Dev

문자열을 목록으로 변환

분류에서Dev

목록 (객체) 목록을 문자열 목록으로 변환

분류에서Dev

문자열 목록을 정수 목록 목록으로 변환

분류에서Dev

문자열 목록을 numpy 목록 목록으로 변환

Related 관련 기사

  1. 1

    프롤로그는 문자열 목록을 숫자 목록으로 변환

  2. 2

    문자 목록 "List <Character>"에서 문자 배열 "char []"로 변환

  3. 3

    프롤로그에서 문자열을 숫자로 변환

  4. 4

    프롤로그에서 문자열을 숫자로 변환

  5. 5

    목록 <문자열>에서 구분 된 문자열로 변환 목록에 <문자열>

  6. 6

    Pyspark는 배열 목록에서 문자열 목록으로 변환

  7. 7

    프롤로그 술어 findall / 3 및 member / 2 문제

  8. 8

    kotlin에서 문자열을 정수 목록으로 변환

  9. 9

    Python에서 문자열을 2 차원 목록으로 변환

  10. 10

    Pandas DataFrame 내에서 문자열로의 목록 변환

  11. 11

    Python의 목록 내에서 부울을 문자열로 변환

  12. 12

    Kotlin에서 문자열을 정수 목록으로 변환

  13. 13

    중첩 된 목록에서 구분 된 문자열로 변환

  14. 14

    F #에서 문자열 목록을 float / ints로 변환

  15. 15

    목록에서 C #의 문자열로 변환

  16. 16

    목록에서 문자열로 변환하는 방법-Java

  17. 17

    필드로 그 문자열을 포함하는 객체의 목록에 문자열 목록을 변환

  18. 18

    Common Lisp에서 문자열 목록을 정수 목록으로 변환

  19. 19

    문자열 목록을 파일에서 정수 목록으로 변환

  20. 20

    jq의 출력을 목록 목록에서 구분 된 문자열로 변환

  21. 21

    Python에서 문자열 목록을 순수 목록으로 변환

  22. 22

    목록에 JSON으로 문자열로 변환

  23. 23

    옵션 [목록 [문자열]]을 목록 [문자열]로 변환

  24. 24

    findall / setof에서 여러 술어 프롤로그

  25. 25

    정규식 공백 문자를 목록에서 문자열로 변환

  26. 26

    문자열을 목록으로 변환

  27. 27

    목록 (객체) 목록을 문자열 목록으로 변환

  28. 28

    문자열 목록을 정수 목록 목록으로 변환

  29. 29

    문자열 목록을 numpy 목록 목록으로 변환

뜨겁다태그

보관