Ruby 语法错误,意外的关键字\u end
我正在学习Ruby,我搜索了又搜索,看了又看语法,但我不知道出了什么问题 这个程序应该解决这个问题 我遇到了以下四个语法错误:Ruby 语法错误,意外的关键字\u end,ruby,syntax,syntax-error,Ruby,Syntax,Syntax Error,我正在学习Ruby,我搜索了又搜索,看了又看语法,但我不知道出了什么问题 这个程序应该解决这个问题 我遇到了以下四个语法错误: unexpected keyword_end end 这是我的代码: grid = #20x20 "grid"/array of numbers largest = 0 lateral(0,1,2,3) vertical(0,20,40,60) diagonal_right(0,21,42,63) diagonal_left(3,22,41,60) puts l
unexpected keyword_end end
这是我的代码:
grid = #20x20 "grid"/array of numbers
largest = 0
lateral(0,1,2,3)
vertical(0,20,40,60)
diagonal_right(0,21,42,63)
diagonal_left(3,22,41,60)
puts largest
#lateral
def lateral(a, b, c, d)
while (d < grid.size)
temp = grid[a] * grid[b] * grid[c] * grid[d]
if (temp > largest)
largest = temp
end
if ((d % 19) == 0)
a += 4
b += 4
c += 4
d += 4
else
a++
b++
c++
d++
end # <===== getting syntax error here
end
end
def vertical(a, b, c, d)
while (d < grid.size)
temp = grid[a] * grid[b] * grid[c] * grid[d]
if (temp > largest)
largest = temp
end
a++
b++
c++
d++
end # <===== getting syntax error here
end
def diagonal_right(a, b, c, d)
while (d < grid.size)
temp = grid[a] * grid[b] * grid[c] * grid[d]
if (temp > largest)
largest = temp
end
if ((d % 19) == 0)
a += 4
b += 4
c += 4
d += 4
else
a++
b++
c++
d++
end # <===== getting syntax error here
end
end
def diagonal_left(a, b, c, d)
while (d < (grid.size - 4))
temp = grid[a] * grid[b] * grid[c] * grid[d]
if (temp > largest)
largest = temp
end
if ((a % 19) == 0)
a += 4
b += 4
c += 4
d += 4
else
a++
b++
c++
d++
end # <===== getting syntax error here
end
end
grid=#20x20“grid”/数字数组
最大值=0
横向(0,1,2,3)
垂直(0,20,40,60)
右对角线(0,21,42,63)
左对角线(3,22,41,60)
最大的
#侧面的
def横向(a、b、c、d)
而(d<网格大小)
温度=网格[a]*网格[b]*网格[c]*网格[d]
如果(温度>最大值)
最大值=温度
结束
如果((d%19)==0)
a+=4
b+=4
c+=4
d+=4
其他的
a++
b++
C++
d++
完#最大)
最大值=温度
结束
a++
b++
C++
d++
完#最大)
最大值=温度
结束
如果((d%19)==0)
a+=4
b+=4
c+=4
d+=4
其他的
a++
b++
C++
d++
完#最大)
最大值=温度
结束
如果((a%19)=0)
a+=4
b+=4
c+=4
d+=4
其他的
a++
b++
C++
d++
end#Ruby中不存在++
操作符。您应该选择+=1
Ruby中不存在++
操作符。你应该选择+=1
你的格式很奇怪。如果您通过遵循众多Ruby样式指南中的一个来正确格式化代码(或者简单地点击Alt+Shift+F或选择的编辑器中的任何组合),您就会立即看到问题。根据大多数样式指南,二元中缀运算符的两侧应该有一个空格,一元前缀运算符后面应该没有空格。也就是说,你应该写foo-bar
和!baz
。中缀运算符周围没有空格,一元前缀运算符与其操作数之间有一条换行符
这是正确格式化的外观:
a + +b + +c + +d + + # plus what?
你看到问题了吗?最后一个一元前缀+
运算符缺少操作数。格式非常奇怪。如果您通过遵循众多Ruby样式指南中的一个来正确格式化代码(或者简单地点击Alt+Shift+F或选择的编辑器中的任何组合),您就会立即看到问题。根据大多数样式指南,二元中缀运算符的两侧应该有一个空格,一元前缀运算符后面应该没有空格。也就是说,你应该写foo-bar
和!baz
。中缀运算符周围没有空格,一元前缀运算符与其操作数之间有一条换行符
这是正确格式化的外观:
a + +b + +c + +d + + # plus what?
你看到问题了吗?您缺少最后一个一元前缀+
运算符的操作数。Ohhhh geez。陷入爪哇哈哈,这就成功了。非常感谢你!哎呀。陷入爪哇哈哈,这就成功了。非常感谢你!这是真正的答案。这是真正的答案。这是一个副本。这是一个副本