字符串与写入语句比较

时间:2013-06-26 10:10:30

标签: prolog

checkChar :-
    nl,
    write('Enter a character [press 0 to stop]: '),
    get(X),
    process(X).

process(X) :-
    S = put(X),
    0 == S,
    !.

process(X) :-
    write('ASCII code for <'),
    put(X),
    write('>:'),
    write(X),
    checkChar.

用户将输入他们想要的任何内容,prolog会将该字符转换为ASCII码并显示它。 如果输入0,序言将停止执行,但除了直接与ASCII 48相比,我怎么能这样做呢? (ASCII 48 = 0) 这就是我曾经尝试过的,但是一旦我输入0,它仍然无法停止。

1 个答案:

答案 0 :(得分:1)

我认为这是你可能正在寻找的东西:

checkChar :-
    nl,
    write('Enter a character [press 0 to stop]: '),
    get(X),
    process(X).

process(X) :-
    X =\= "0",
    write('ASCII code for <'),
    put(X),
    write('>:'),
    write(X),
    checkChar.