簡體   English   中英

將數字分開成序言

[英]separate number into digit into prolog

我想使用序言將數字分成列表數字

like :
     if number is "345"
separate to [3, 4, 5]

我怎樣才能做到這一點 ?

stringTokenizer("", []) :- !.
stringTokenizer(Sen, [H|T]) :-
   frontToken(Sen, Token, Remd), H = Token, stringTokenizer(Remd, T).

我正在使用此謂詞將字符串轉換為字符串列表

由於沒有明確的答案,因此可以使用字符串是ascii整數列表的事實來簡化此過程,如@RayToal所建議的那樣。 只要確保字符串中的所有字符實際上都是整數即可。

stringTokenizer([], []).
stringTokenizer([N|Ns], [Digit|Rest]):-
    48 =< N, N =< 57,
    Digit is N - 48,
    stringTokenizer(Ns, Rest).

你的例子:

?- stringTokenizer("345", List).
List = [3, 4, 5].

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM