我正在使用谓词来读取序言程序外壳中连续提示中的一些值,并且我希望用户能够在被要求输入时获得帮助消息。情况将是:
- 请求输入
- 如果
input = 'help'
,显示帮助信息并再次请求相同的输入 - 如果
input /= 'help'
, 分配Value
并成功离开
到目前为止我所做的:
ask_input( Question, Value ) :-
write( Question ), % Please enter ... :
read( ReadValue ),
( ReadValue = 'help' ->
write( 'Help message...' ),
ask_input( Question, Value )
; Value = ReadValue
).
显然,上面的代码不起作用。它会在ask_input
内部条件下失败。