Ruby 什么参数应该传递给其他方法

Ruby 什么参数应该传递给其他方法,ruby,Ruby,我试图找出应该传递给directors\u total方法的参数,以便为\u director返回gross\u的结果 我尝试过插入不同的参数,结果会有不同的错误 require 'directors_database' require 'pp' require 'pry' # Write a method that, given an NDS creates a new Hash # The return value should be like: # # { directorOne =&g

我试图找出应该传递给
directors\u total
方法的参数,以便为\u director返回
gross\u的结果

我尝试过插入不同的参数,结果会有不同的错误

require 'directors_database'
require 'pp'
require 'pry'

# Write a method that, given an NDS creates a new Hash
# The return value should be like:
#
# { directorOne => allTheMoneyTheyMade, ... }

def directors_totals(nds)
  result = {}
  name_index = 0
  director = nds[name_index][:name]
  result[director] = 0
  while name_index < nds.length do
    result[director] += gross_for_director(gross_total)

    name_index += 1
  end

  result
end

# Find a way to accumulate the :worldwide_grosses and return that Integer
# using director_data as input
def gross_for_director(director_data)
  mov_index = 0
  gross_total = 0
  while mov_index < director_data[:movies].length do
    gross_total += director_data[:movies][mov_index][:worldwide_gross]

    mov_index += 1
  end
  gross_total
end

导演资料

   {:name=>"Stephen Spielberg",
 :movies=>
  [{:title=>"Jaws",
    :studio=>"Universal",
    :worldwide_gross=>260000000,
    :release_year=>1975},
   {:title=>"Close Encounters of the Third Kind",
    :studio=>"Columbia",
    :worldwide_gross=>135189114,
    :release_year=>1977},
   {:title=>"Raiders of the Lost Ark",
    :studio=>"Paramount",
    :worldwide_gross=>248159971,
    :release_year=>1981},
   {:title=>"E.T. the Extra-terrestrial",
    :studio=>"Universal",
    :worldwide_gross=>435110554,
    :release_year=>1982},
   {:title=>"Schindler's List",
    :studio=>"Universal",
    :worldwide_gross=>96898818,
    :release_year=>1993},
   {:title=>"Lincoln",
    :studio=>"Buena Vista",
    :worldwide_gross=>182207973,
    :release_year=>2012}]}

当你为导演调用
gross\u
时,你应该传递
nds[name\u index]
,因为它需要一些可以索引的东西:movies

你能显示导演的数据是什么样的数据结构吗?我猜哈希键不是符号检查此url:
   {:name=>"Stephen Spielberg",
 :movies=>
  [{:title=>"Jaws",
    :studio=>"Universal",
    :worldwide_gross=>260000000,
    :release_year=>1975},
   {:title=>"Close Encounters of the Third Kind",
    :studio=>"Columbia",
    :worldwide_gross=>135189114,
    :release_year=>1977},
   {:title=>"Raiders of the Lost Ark",
    :studio=>"Paramount",
    :worldwide_gross=>248159971,
    :release_year=>1981},
   {:title=>"E.T. the Extra-terrestrial",
    :studio=>"Universal",
    :worldwide_gross=>435110554,
    :release_year=>1982},
   {:title=>"Schindler's List",
    :studio=>"Universal",
    :worldwide_gross=>96898818,
    :release_year=>1993},
   {:title=>"Lincoln",
    :studio=>"Buena Vista",
    :worldwide_gross=>182207973,
    :release_year=>2012}]}