我正在制作一个程序来识别字符串中是否只有字母和空格,但它给了我一个错误,我无法解决它。
未捕获的异常:错误(实例化错误,(是)/ 2)
我认为错误仍然存在于 validazione_lista 但我无法解决它。
validazione_input(Input) :-
repeat,
read(Input),
validazione_lista(Input, A),
( A == 0 -> write('\ninput non valido, inserire solamente lettere maiuscole, minuscole e spazi:'), nl, fail
; A == 1 -> !
).
validazione_lista([], _).
validazione_lista([TESTA|CODA], A) :-
validazione_lettera(TESTA, B),
if_validazione(B, (validazione_lista(CODA, C), A is C), A is B).
validazione_lettera(Lettera, A) :-
Lettera == 32,
A is 1,
!.
validazione_lettera(Lettera, A) :-
(Lettera >= 65, Lettera =< 90),
A is 1,
!.
validazione_lettera(Lettera, A) :-
(Lettera >= 97, Lettera =< 122),
A is 1,
!.
validazione_lettera(_, A) :-
A is 0.
if_validazione(C, I1, _) :- C=1, !, I1.
if_validazione(C, _, I2) :- C=0, !, I2.