我需要将字符串转换为 ACII 加 1 并转换回来。
Next_letter = convert(char, convert(integer, Letter) + 1)
但是错误:
main.pro(19,48) 错误 c504:表达式的类型为“main::letter”,与“::integer”类型不兼容
完整程序:
/* программа prog2_8.pro */
/* генерации ряда букв а…d в столбик в порядке возрастания */
implement main
open core, console
domains
letter = string.
class predicates
write_letter : (letter).
clauses
write_letter("e").
write_letter(Letter) :-
Letter < "e",
write(" ", Letter),
nl,
Next_letter = convert(char, convert(integer, Letter) + 1),
write_letter(Next_letter).
run() :-
write("letters:"),
nl,
write_letter("a"),
fail().
run() :-
nl,
write("Press Enter"),
_ = readchar(),
succeed().
end implement main
goal
console::runUtf8(main::run).