我花了几个小时寻找一种将数组推入另一个数组或散列的方法。如果这个问题的格式有点乱,请提前道歉。这是我第一次在 StackOverflow 上提出问题,因此我试图掌握正确设置问题的窍门。
我必须编写一些代码才能使以下测试单元通过:
class TestNAME < Test::Unit::TestCase
def test_directions()
assert_equal(Lexicon.scan("north"), [['direction', 'north']])
result = Lexicon.scan("north south east")
assert_equal(result, [['direction', 'north'],
['direction', 'south'],
['direction', 'east']])
end
end
我想出的最简单的事情如下。第一部分通过,但第二部分在我运行时没有返回预期结果rake test
。
代替或返回:
[[“方向”,“北”],[“方向”,“南”],[“方向”,“东”]]
它回来了:
[“北”、“南”、“东”]
虽然,如果我将y的结果作为字符串打印到控制台,我会得到 3 个不包含在另一个数组中的单独数组(如下所示)。为什么它没有打印数组最外面的方括号y?
["direction", "north"] ["direction", "south"] ["direction", "east"]
下面是我为了通过上面的测试单元而编写的代码:
class Lexicon
def initialize(stuff)
@words = stuff.split
end
def self.scan(word)
if word.include?(' ')
broken_words = word.split
broken_words.each do |word|
x = ['direction']
x.push(word)
y = []
y.push(x)
end
else
return [['direction', word]]
end
end
end
对此的任何反馈将不胜感激。提前非常感谢大家。