录制和发送用户输入

时间:2014-07-15 23:18:40

标签: ruby database tropo

到目前为止,我一直在要求用户发送一个整数(来自选项:1,2,3,4或5)作为对消息的可能回复。然后我向用户回复他们选择的整数,然后再转到下一条消息。所以我的消息有以下结构:

Messages = [ 
{"1"=>"You chose 1.", 
"2"=>"You chose 2.", 
"message"=> "Pick 3 or 4. 3) Apples 4) Oranges."},

{"3"=>"You chose Apples.", 
"4"=>"You chose Oranges.", 
"message"=>"Pick 1 or 2. 1) [something] 2) [something]"}, 
]

我使用以下调用呈现我的消息:

say "#{messages[$status.to_i][$reply]} #{messages[$status.to_i]['message']}"

现在我需要用户输入原始内容,例如他/她的出生日期(例如07May90可能是一个完整的输入)。所以我需要以下情况。

Messages = [ 
{"1"=>"You chose 1.", 
"2"=>"You chose 2.", 
"message"=> "What is your date of birth?"},

{"DoB"=>"You chose [whatever user inputs e.g. 07May90].", 
"message"=>"Pick 1 or 2. 1) [something] 2) [something]"}, 
]

如何将原始输入返回给用户,例如如果他们通过输入07May90回复DoB问题,我想说“你选择了07May90。” (如上所述)。

1 个答案:

答案 0 :(得分:0)

让人想到的一种方法是使用sprintf

message = "You picked %s"
value = "07May90"
puts sprintf(message, value)

对你而言,这并不是特别漂亮,但它会起作用。