Skip to content

Latest commit

 

History

History
58 lines (42 loc) · 2.43 KB

001-ruby-shunting-yard.md

File metadata and controls

58 lines (42 loc) · 2.43 KB

Цель

Изучить базовый ruby синтаксис, научиться работать с массивами, стеком, очередью.

Общая теория

Задание

Реализовать на языке ruby калькулятор выражений со скобками, используя обратную польскую запись. Например, вычисляем выражения:

5 * (1 + 2)
1 + 6 * 20

Требования

  • использовать обратную польскую запись
  • только натуральные числа и ноль (0, 1, 2, ...)
  • бинарные операторы: +, -, *, /
  • *, / приоритетнее +, -

Разработка

  • парное программирование
  • весь код в одном файле
  • разрабатываем через TDD
  • в качестве тестов используем печать на экран: выводим выражение, результат и ожидаемый результат
  • rspec не используем

Полезные ссылки

Полезные методы

  • String#scan
  • String#empty?
  • Array#push
  • Array#pop
  • Enumerable#map
  • Enumerable#reduce

Книги