1

我刚开始学习 Ruby/Rails,正在尝试编写一个程序来构建一个数组,然后格式化新数组。

它可以工作到 second while,并且,如果我已经构建了一个数组,那么第二部分也可以工作。有什么我要遗漏的吗?

chap = []
page = []
lineWidth = 80
x = 0
n = chap.length.to_i
puts 'chapter?'
chapter = gets.chomp
while chapter != ''
  chap.push chapter
  puts 'page?'
  pg = gets.chomp
  page.push pg
  puts 'chapter?'
  chapter = gets.chomp
end
puts ('Table of Contents').center lineWidth
puts ''
while x < n
 puts ('Chapter ' + (x+1).to_s + ' ' + chap[x]).ljust(lineWidth/2) +(' page ' + page[x]).rjust(lineWidth/2)
 x = x + 1
end

谢谢你的帮助!

4

1 回答 1

3

简单的飞行员错误:你打电话

n = chap.length.to_i

太早了。在你把东西放进去之后,你必须得到章节列表的长度。将该行移至此处:

    ...
    puts 'chapter?'
    chapter = gets.chomp
end
n = chap.length.to_i

puts ('Table of Contents').center lineWidth

它工作正常。

于 2013-09-24T17:54:15.110 回答