1ヵ月前くらいからGolangを書き始めています。さきほど練習で書いたプログラムを技術向上のためにもここにメモ。
仕様
- 利用できる変数はa〜zの26個
a=10+20
の形で演算と代入処理可能(
)
+
-
*
/
の演算子を利用- ? で結果出力する
- 練習なので基本パッケージのみを利用
使い方
上の仕様の通り実際に使ってみると以下のような感じです。対話型です。
$ go run calculator.go input>a = 10 input>? a Answer: 10 input>b = 20 input>c = (a+b)*5 - (30-20)/5 input>?c Answer: 148 input>? 1+ 2+a +b Answer: 33 input>^D byebye!
Web上で試すには
https://play.golang.org/p/Kljuy4H21O
最後にあるmain関数のの部分いじれば計算式変えて試せます。
func main() { calc := newCalc() calc.setNewLine("a=10") calc.statement() calc.setNewLine("b=20") calc.statement() calc.setNewLine("c = (a+b)*5 - (30-20)/5") calc.statement() calc.setNewLine("?c") calc.statement() calc.setNewLine("?1+2+a+b") calc.statement() }
コード
参考書籍
こちらの4.3章にあるCプログラムの内容を参考にしています。
明快入門 コンパイラ・インタプリタ開発 C処理系を作りながら学ぶ 林晴比古実用マスターシリーズ
- 作者: 林晴比古
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/03/27
- メディア: Kindle版
- この商品を含むブログを見る