【发布时间】:2015-04-27 04:18:46
【问题描述】:
我想为我的嵌套数组运行一个条件语句:
mark = 'x'
array = [['x', 44, 71, 8, 88],
[22, 'x', 75, 65, 73],
[83, 85, 'x', 89, 57],
[25, 31, 96, 'x', 51],
[75, 70, 54, 80, 'x']]
我想检查我是否有x's 的向下模式。这是我用来尝试这样做的代码:
def back_slash?
if array[0][0].include?(mark) &&
array[1][1].include?(mark) &&
array[2][2].include?(mark) &&
array[3][3].include?(mark) &&
array[4][4].include?(mark) &&
return true
else
return false
end
end
我很新,但我认为如果满足所有这些条件,它就会显示为 true。我遇到的唯一问题是以下错误:
my_solution.rb:119: syntax error, unexpected keyword_end
my_solution.rb:166: syntax error, unexpected end-of-input, expecting keyword_end
我试过从北极到南极洲的end's...不知道我错过了什么。
【问题讨论】:
-
什么是“向下模式”?
-
从左到右的对角线图案。当我删除 if 语句的结尾时,我仍然得到错误。我没有得到它想要我结束的地方>.
-
你不应该删除
end。 -
end不是问题,它正在寻找另一个条件,因为您在结束之前有一个&&。它将end视为该运算符的右轴,这是您不想要的。 -
@jonsnow 给出了答案。我能够让它工作。
标签: ruby arrays multidimensional-array