Мой код дает мне результат, который я хочу, но он не передает rspec. Вот мой код:Как удалить эти скобки?
def tokens(tokens)
tokenized = []
syms = %w(*/- +)
tokenized << tokens.split.map{|i| syms.include?(i) ? i.to_sym : i.to_i}
tokenized
end
здесь является соответственно:
# extra credit
it "tokenizes a string" do
calculator.tokens("1 2 3 * + 4 5 - /").should ==
[1, 2, 3, :*, :+, 4, 5, :-, :/]
end
теперь, мой код на самом деле, потому что он находится в массиве, вернитесь
[1, 2, 3, :*, :+, 4, 5, :-, :/]
, но когда я бегу ответ не пройдет, потому что он получает на нем дополнительный набор кронштейнов: Неудачи:
1) RPNCalculator tokenizes a string
Failure/Error: [1, 2, 3, :*, :+, 4, 5, :-, :/]
expected: [1, 2, 3, :*, :+, 4, 5, :-, :/]
got: [[1, 2, 3, :*, :+, 4, 5, :-, :/]] (using ==)
Я полагаю, что rspec использует метод .inspect, который добавляет скобки (я точно не знаю, как работает .should). Для всех пунктов и целей мой код кажется правильным. Но это не пройдет, как есть. Что мне делать, чтобы пройти?
AH да! карта меняет массив на месте! не нужно вставлять его в новый массив ... тух! лол! благодаря – HolyMoly