簡體   English   中英

從char解析為Prolog

[英]Parsing from char to digit Prolog

我有以下幾點:

is_digit(X):-char_type(X,digit).

當我這樣稱呼它時:is_digit(X)。

我得到愚弄的結果:

X='0'; 
X='1'; 
... ; 
X='9'

我需要獲得相同的結果,但不帶引號。 打擾一下,如果這是一個簡單的問題,但是我只是無法找到解決方法。 謝謝!

?- between(0, 9, X).
X = 0 ;
X = 1 ;
X = 2 ;
X = 3 ;
X = 4 ;
X = 5 ;
X = 6 ;
X = 7 ;
X = 8 ;
X = 9.

如果要在ISO Prolog實現中可移植,則需要使用number_chars/2 atom_number/2僅存在於SWI,YAP,Ciao中。 但是number_chars/2由3和IF,B,GNU,SICStus,XSB和Jekejeke支持。

X = '1', number_chars(N, [X]).

如果您想要數字,請使用atom_number(A,N)。

?- char_type(X,digit),atom_number(X,N).
X = '0',
N = 0 ;
X = '1',
N = 1 ;
X = '2',
N = 2 ;
X = '3',

暫無
暫無

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

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