2016-06-30 7 views
0

@total変数を表示しようとしていますが、常に0と表示されます。なぜこの変数はSinatraのページに表示されません

ページに表示する正しい方法は何ですか?

現在、私はあなたの@arrayで...

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 %> 
+0

私はあなたに与えることができる最高の助言:あなたのメインファイルの最初にsinatra/reloaderを必要とします。再起動しなくても自由に試して変更することができます毎回サーバ – peter

+0

@peterねえ、ありがとう。それは本当に便利になるだろう – IAmAkittycatAMA

答えて

4

をやって、最後の要素は0です。あなたはそれを反復し、各要素に合計を掛けるので、合計は0です。

+0

ああ、愚かな私。私は関数を中断しようとしていたときに先に0を置いていました。ありがとうございました! – IAmAkittycatAMA

関連する問題