Ruby语言的gets()字符串配对问题,求助

input=gets()ifinput=="大大"print"您将进入存款功能!!"elseifinput==2print"您将进入取款功能!!"elseifinput=... input=gets()
if input=="大大"
print "您将进入存款功能!!"
else if input==2
print "您将进入取款功能!!"
else if input==3
print "即将返回主菜单!!"
else
print "ERROR!请重新输入!!"
end
end
end

我想实现的效果是:输入《大大》,就会打印“您将进入存款功能”,但老是实现不了,上网也找不到相关的解决方法,如果我把input固定为《大大》,就会匹配成功,但输入的就不行,为什么呢?
只会得到 else 的内容,也就是“ERROR!请重新输入!!”,的匹配不成功的结果
展开
 我来答
daji1030
2017-04-24 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:84.6万
展开全部

你得到的input的值为 "大大\n",多了一个回车,当然不相等了。

另外,你输入2和3,input的值为“2\n"和"3\n",也都有回车符

你试一下用strip去掉两端的空白字符(回车、换行、空格、制表符):

input = gets.strip
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式