2015-10-18 128 views
0

我有一个叫PolynomialElements的类,在这个类的内部,我有一个名为printElement的方法,它有一个put语句可以打印两个变量。 puts语句在不同的行上打印变量。我如何获得投放在一行上打印两个变量。我的代码如下,它是puts语句所在的#5行。puts语句在两行上打印

class PolynomialElements 
    attr_accessor :element, :size 

    def printElement 
     puts "#{element}x^#{size}" 
    end 
end 


askAgain = true 
polyArray = Array.new 

while askAgain 
    puts "How many numbers do you want to enter? " 
    numString = gets 
    num = numString.to_i 
    while num > 0 
    puts "Enter a value for the Polynomial " 
    value = gets 
    polyArray.push(value) 
    num -= 1 
    end 

    sizeOfArray = polyArray.length 
    polyArray.each do |x| 
    var = PolynomialElements.new 
    var.element = x 
    sizeOfArray -= 1 
    var.size = sizeOfArray 
    var.printElement 
    end 
    puts "Enter y to enter new number or anything else to quit" 
    cont = gets 
    if cont.chomp != "y" 
    askAgain = false 
    else 
    polyArray.clear 
    end 
end 
+0

正如你可能知道,Ruby的惯例是使用* snake-case *作为方法名称d变量;例如'size_of_array'而不是'sizeOfArray'。公约可能会被打破,但我认为99%以上的Rubiest遵循那些(和其他)公约。除此之外,不论使用什么语言,都会偏离惯例,可能会给读者留下一个印象,即您对该语言没有经验。 –

回答

1

while循环变化:

value = gets 

到:

value = gets.chomp 

然后,您将得到:

Enter a value for the Polynomial 
3 
1x^2 
2x^1 
3x^0