询问用户输入数组位置? (红宝石)

时间:2016-03-11 02:32:01

标签: ruby

我搜索了论坛,所有答案都是python或C +相关的,这是ruby。

我正在试图弄清楚如何通过键入数字1-4来使下面的程序提示用户输入数组中的项目(因此位置不会从用户眼中的0开始)。 这可能是一个简单的解决方案,但我是新手......我很感激任何时候和帮助。

array = []

puts "please add to the array 4 times"

4.times do
array << gets.chomp

end

puts "#{array}"
puts "Select a position in the array by typing a singular number from 1-4"

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

"ideaPosts" : [ {
    "id" : 0,
    "message" : "Test",
    "upvotes" : 1,
    "user" : "Anonymous"
  }, {
    "id" : 1,
    "message" : "Test2",
    "upvotes" : 1,
    "user" : "Anonymous"
  } ]

答案 1 :(得分:-1)

您可以通过组合gets.chomp(读取一行用户输入并删除尾随换行符)和to_i(转换为整数)来获取索引。

将此与使用array[index_integer]方法访问特定索引处的数组元素的能力相结合。

将它拼凑在一起:

array = ["first_item", "second_item", "third_item"]
puts "enter the array index: "
index = gets.chomp.to_i
adjusted_index = index - 1
value_at_index = array[adjusted_index]
puts "The element at that index is #{value_at_index}"

但是要预先警告指数将会循环播放&#39;如果给出值0,则为-1。

例如,如果用户输入0,则adjusted_index将为-1,并且将显示该数组的最后一个元素。