为什么这个变量不会显示在Sinatra的页面上

时间:2016-06-30 11:12:22

标签: ruby sinatra

尝试显示@total变量,但始终显示0

让它在页面上显示的正确方法是什么?

目前我在做...

main.rb的

require 'sinatra'

get '/' do

  @array = [1, 7, 3, 0]
  @index = params[:index].to_i
  @total = 1

  def get_products_of_all_ints_except_at_index()
    @array.delete_at(@index)
    @array.each do |i|
      @total *= i
    end
  end
  get_products_of_all_ints_except_at_index()
erb :home
end

home.erb

<form action="/">

  <input type="number" name="index" placeholder="index">

  <button>Calculate</button>

</form>

<%= @total %>

1 个答案:

答案 0 :(得分:4)

@array中,最后一个元素是0。因为你在迭代它并将总数乘以每个元素,所以总和也是0