ruby - Ruby如何调用函数直到正确的条件?
问题描述
我正在弄清楚 Ruby 返回是如何工作的,所以我遇到了一个问题:我有一个列表和一个函数,它们会在上面推送不同的语句。我需要弄清楚 - 如何在用户输入语句之前调用函数,这不包括在这个列表中?
$my_list = []
def add_element()
user_input = gets.to_i
if $my_list.include?(user_input)
puts 'There is already such number in list, re-enter your number. please.'
return user_input
else
puts "Your number is - #{user_input}"
$my_list.push(user_input)
end
end
add_element
问题是它可以查看值是否已经在列表中,但我无法弄清楚如何要求用户再次重新输入它,直到他输入不重复的数字。
解决方案
为了扩展马克的想法,
$my_list = []
def add_element()
user_input = gets.to_i
while my_list.include?(user_input)
puts 'There is already such number in list, re-enter your number. please.'
user_input = gets.to_i
end
$my_list.push(user_input)
end
add_element
应该做的伎俩
推荐阅读
- apache-nifi - 如何在 sql server 中运行使用“for json”和“for xml”的 sql 查询?
- java - 如何在实例化 Java Spring Webflux 时修改或更新 POJO 模型
- c - 从未初始化的变量创建指针是否有副作用?
- python - pytest - 在输出中显示测试模块名称
- python - 无法将大型图像数据集附加到列表中?
- c# - 触摸屏,如何调整我的代码以仅对一根手指做出反应
- magento - 在 Magento 2 中使用 Graphql 的好处
- javascript - window.__REDUX_DEVTOOLS_EXTENSION_COMPOSER__ 在 Electron 应用程序中未定义
- python - OpenCV:为颜色过滤选择 HSV 阈值
- android - 使用 API 28 时不显示 Recyclerview