Skip to content

Instantly share code, notes, and snippets.

@yattom
Last active July 25, 2017 22:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yattom/ebc69d3a428e496ef334b8af6b38951a to your computer and use it in GitHub Desktop.
Save yattom/ebc69d3a428e496ef334b8af6b38951a to your computer and use it in GitHub Desktop.
TDDのお題 計算機

いろいろな計算ができる計算機を作ってください。以下のインターフェースはあくまで一例(イメージ)です。

  1. 整数の足し算ができるようにしてください

calc("+", 3, 4) => 7

  1. 整数の引き算ができるようにしてください

calc("-", 10, 4) => 6

  1. 整数の掛け算ができるようにしてください

calc("*", 3, 5) => 15

  1. 整数の割り算ができるようにしてください

calc("/", 8, 2) => 4

  1. ゼロで割ったときや、演算子が不正だったとき、エラーを示す "E" という文字列を取得できるようにしてください(電卓に表示するイメージです)

calc("/", 8, 0) => "E"

calc("=", 8, 2) => "E"

  1. 計算する数字の個数を任意にしてください

calc("+", 1, 2, 3, 4, 5) => 15

calc("*", 4, 3, 2, 1, 0) => 0

  1. 割り算の結果を分数で返してください

calc("/", 1, 3) => "1/3"

calc("/", 15, 10) => "3/2"

  1. 四則演算を分数に対応してください

calc("*", calc("/", 1, 3), 3) => 1

calc("+", "1/3", "2/5") => "11/15"

  1. 分数を用いた計算式を表現してください

calc("*", calc("/", 1, 3), 3)) から "1/3 * 3" を取り出せる

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment