这是一个用于保存人的年龄和姓氏的程序:
E = Array.new(10)
A = Array.new(10)
for i in(0..9)
puts "¿Cúal es tu edad?"
edad = gets.chomp
E[i] = edad
puts "¿Cúal es tu apellido?"
apellido = gets.chomp
A[i] = apellido
end
gets
for m in(0..9)
puts "Apellido es " + A.to_s + " tengo " + E.to_s + " años. "
end
gets
它打印:
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
Apellido es ["primero", "segundo", "tercero", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"] tengo ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] años.
当我引入10和10个变量并打印它们时,它将打印所有信息,而不是1和1。它将同时显示所有信息。
答案 0 :(得分:0)
您应该将其中一行更改为,以便可以按索引访问数组元素(但不要将大写字母用作变量名):
puts "Apellido es " + A[m].to_s + " tengo " + E[m].to_s + " años. "
但是我建议使您的代码更加“ Rubyish”,就像这样:
people = Array.new() # initializa an array
10.times do |n|
person = {} # initialize a hash
# puts "¿Cúal es tu edad?"
person[:edad] = 20 + n # stores into the hash, here use gets for user input instead of 20 + n
# puts "¿Cúal es tu apellido?"
person[:apellido] = 'Pedro' + n.to_s # stores into the hash, here use gets for user input instead of 'Pedro' + n.to_s
people << person # insert the person into people
end
people.each do |person|
puts "Apellido es #{person[:apellido]} tengo #{person[:edad]} años." # string interpolation
end