Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby koan 182贪婪骰子游戏-出现神秘错误_Ruby - Fatal编程技术网

Ruby koan 182贪婪骰子游戏-出现神秘错误

Ruby koan 182贪婪骰子游戏-出现神秘错误,ruby,Ruby,我正在做edgecase koan来学习ruby,我被贪婪的koan(182-183)弄得一个神秘的错误。规则概述如下 我知道我的代码是..平淡无奇的,我想一旦我的逻辑是正确的(可能不是),我就会重构它 谢谢你的帮助 def score(dice) score = 0 if dice == [] return score end dice = dice.sort dice = [1,1,4,5,6] count = [0,0,0,0,0,0] score =

我正在做edgecase koan来学习ruby,我被贪婪的koan(182-183)弄得一个神秘的错误。规则概述如下

我知道我的代码是..平淡无奇的,我想一旦我的逻辑是正确的(可能不是),我就会重构它

谢谢你的帮助

def score(dice)
  score = 0
  if dice == []
    return score
  end

  dice = dice.sort
  dice = [1,1,4,5,6]
  count = [0,0,0,0,0,0]
  score = 0
  dice.each do |face|
    if    face == 1
        count[0]++
    elsif face == 2 # this is line 45 with reported error
        count[1]++
    elsif face == 3
        count[2]++
    elsif face == 4
        count[3]++
    elsif face == 5
        count[4]++
    elsif face == 6
        count[5]++
    end
  end
  if count[0] >= 3
    score+= 1000
    count[0] = count[0] - 3
  elsif count[4] >= 3
    score+= 500
    count[4] = count[4] - 3
  end
  score+= count[0] * 100
  count [0] = 0
  score+= count[4] * 50
  count [4] = 0

  if count[1] >= 3
    score+= 200
  elsif count[2] >= 3
    score+= 300
  elsif count[3] >= 3
    score+= 400
  elsif count[5] >= 3
    score+= 600
  end

  #check if there are three 1 at the beginning
  #if not, check if we have three 2
  # You need to write this method
end
有关详细信息,我收到以下错误:

 /Users/gozulin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': /Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:45: syntax error, unexpected keyword_elsif (SyntaxError)
    elsif face == 2
         ^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:47: syntax error, unexpected keyword_elsif
    elsif face == 3
         ^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:49: syntax error, unexpected keyword_elsif
    elsif face == 4
         ^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:51: syntax error, unexpected keyword_elsif
    elsif face == 5
         ^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:53: syntax error, unexpected keyword_elsif
    elsif face == 6
         ^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:55: syntax error, unexpected keyword_end
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:84: class definition in method body
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:122: syntax error, unexpected $end, expecting keyword_end
    from /Users/gozulin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from path_to_enlightenment.rb:24:in `<main>'
rake aborted!
Command failed with status (1): [/Users/gozulin/.rvm/rubies/ruby-1.9.2-p290...]
/Users/gozulin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require':/Users/gozulin/Sites/ruby\u koans/koans/about\u scoring\u project.rb:45:语法错误,意外关键字\u elsif(语法错误)
elsif面==2
^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:47:语法错误,意外关键字_elsif
elsif面==3
^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:49:语法错误,意外关键字_elsif
elsif面==4
^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:51:语法错误,意外关键字_elsif
elsif面==5
^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:53:语法错误,意外关键字_elsif
elsif面==6
^
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:55:语法错误,意外关键字_end
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:84:方法体中的类定义
/Users/gozulin/Sites/ruby_koans/koans/about_scoring_project.rb:122:语法错误,意外$end,需要关键字_end
from/Users/gozulin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb:36:in'require'
从路径到启蒙。rb:24:in`'
雷克流产了!
命令失败,状态为(1):[/Users/gozulin/.rvm/rubies/ruby-1.9.2-p290…]

问题不在于
elif
,尽管错误消息听起来像这样,但在于之前的令牌:

count[0]++

ruby中不允许使用语法。

问题不在于
elif
,尽管错误消息听起来像这样,但与之前的标记有关:

count[0]++

ruby中不允许使用语法。

ruby不支持C风格的增量:
++

使用
计数[0]+=1


如果您有某种“神秘”的错误,您也不应该查看解释器指向您的位置,而应该查看上面的一行。

Ruby不支持C风格的增量:
++

使用
计数[0]+=1

若你们有某种“神秘”的错误,你们也不应该看翻译给你们指的地方,而应该看上面的一行