我可以在案例陈述中使用.include?()吗?ruby
发布时间:2020-12-17 02:49:36 所属栏目:百科 来源:网络整理
导读:我已经开始学习 Ruby了.我有一个小项目来构建游戏并尝试创建一个接收用户输入并相应处理的函数. def Game.listener print " " while listen = $stdin.gets.chomp.downcase case listen when (listen.include?("navigate")) puts "Navigate to #{listen}" bre
我已经开始学习
Ruby了.我有一个小项目来构建游戏并尝试创建一个接收用户输入并相应处理的函数.
def Game.listener print "> " while listen = $stdin.gets.chomp.downcase case listen when (listen.include?("navigate")) puts "Navigate to #{listen}" break when ($player_items.include?(listen)) Items.use(listen) break end puts "Not a option" print "> " end end 但是,case语句无法检测到我已键入导航.有没有办法解决这个问题,或者如果我完全关闭,有人能指出我正确的方向吗? 我找到了解决问题的方法,这是一种安全可靠的方法吗? while listen = $stdin.gets.chomp case listen.include?(listen) when listen.include?("navigate") puts "Navigate to #{listen}" when listen.include?("test") puts "test" when $player_items.include?(listen) puts "Using the #{$player_items[listen]}" break else puts "Not a option" end print "> " end 解决方法
如果你想使用case而不是if-elsif块,那么你可以写这样的东西(注意案例后面的空格):
while listen = $stdin.gets.chomp case when listen.include?('navigate') puts "Navigate to #{listen}" when listen.include?('test') puts 'test' when $player_items.include?(listen) puts "Using the #{$player_items[listen]}" break else puts "Not an option" end print "> " end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |