2014-02-17 2 views
0

사용자 목록이 있습니다. 캐릭터를 입력하고 이름이이 캐릭터로 시작하는 모든 사용자를 찾아야합니다.문자열 파싱 [Turbo Prolog]

!!! 다음과 같은 임베디드 술어 변환 기호 및 행은 사용되지 않습니다.

+0

* 다음과 같은 임베디드 술어 술어 변환 기호와 줄은 사용되지 않습니다. * 그 의미는 무엇입니까? 그리고 몇 가지 코드를 보여줄 수 있습니까? 이 질문에는 "사용자 목록"이 어떤 형식으로 들어 왔는가와 같은 많은 필수 정보가 부족합니다. – lurker

+0

내 코드는 다음과 같습니다. https://gist.github.com/OlshevskyR/9050037 substr, frontchar, concat 등의 문자열에 대한 기본 제공 조건을 사용하지 않고 문제를 해결해야합니다. – HSB

답변

0

이 작업을 수행 할 수있다 : 없다 더 이상 때까지 역 추적에

name_starting_with(C, Name) :- % Names that start with C 
    char_code(C, CC),   % Get the character code for C 
    name([CC|T]),    % Query names that start with C (code CC) 
    atom_codes(Name, [CC|T]). % Convert the found character codes to an atom 

, 이것은 각각 일치하는 이름을 반환해야합니다.

char_code/2atom_codes/2은 ISO 조건 자이지만 Turbo Prolog에서 지원하는지 여부는 알 수 없습니다.