| a b stdout |
stdout := FileStream stdout.
FileStream stdin
linesDo: [ :line |
line isEmpty ifFalse: [
(a isNil)
ifTrue: [ a := line asNumber ]
ifFalse: [ b := line asNumber ]
]
].
stdout nextPutAll: '和: '; nextPutAll: (a + b) printString; nl;
nextPutAll: '差: '; nextPutAll: (a - b) printString; nl;
nextPutAll: '積: '; nextPutAll: (a * b) printString; nl.
b = 0
ifTrue: [
stdout nextPutAll: 'ゼロで割ろうとしています'; nl
]
ifFalse: [
stdout nextPutAll: '商: '; nextPutAll: (a / b) printString; nl.
nextPutAll: '余剰: '; nextPutAll: (a \\ b) printString; nl.
].
stdout flush.
IHwgYSBiIHN0ZG91dCB8CnN0ZG91dCA6PSBGaWxlU3RyZWFtIHN0ZG91dC4KRmlsZVN0cmVhbSBzdGRpbgogICBsaW5lc0RvOiBbIDpsaW5lIHwKICAgICBsaW5lIGlzRW1wdHkgaWZGYWxzZTogWwogICAgICAgIChhIGlzTmlsKQogICAgICAgICAgICBpZlRydWU6IFsgYSA6PSBsaW5lIGFzTnVtYmVyIF0KICAgICAgICAgICAgaWZGYWxzZTogWyBiIDo9IGxpbmUgYXNOdW1iZXIgXQogICAgIF0KICBdLgpzdGRvdXQgbmV4dFB1dEFsbDogJ+WSjDogJzsgbmV4dFB1dEFsbDogKGEgKyBiKSBwcmludFN0cmluZzsgbmw7CiAgICAgICBuZXh0UHV0QWxsOiAn5beuOiAnOyBuZXh0UHV0QWxsOiAoYSAtIGIpIHByaW50U3RyaW5nOyBubDsKICAgICAgIG5leHRQdXRBbGw6ICfnqY06ICc7IG5leHRQdXRBbGw6IChhICogYikgcHJpbnRTdHJpbmc7IG5sLgpiID0gMAogICBpZlRydWU6IFsKICAgICAgICBzdGRvdXQgbmV4dFB1dEFsbDogJ+OCvOODreOBp+WJsuOCjeOBhuOBqOOBl+OBpuOBhOOBvuOBmSc7IG5sCiAgIF0KICAgaWZGYWxzZTogWwogICAgICAgIHN0ZG91dCBuZXh0UHV0QWxsOiAn5ZWGOiAnOyBuZXh0UHV0QWxsOiAoYSAvIGIpIHByaW50U3RyaW5nOyBubC4KICAgICAgICAgICAgICAgbmV4dFB1dEFsbDogJ+S9meWJsDogJzsgbmV4dFB1dEFsbDogKGEgXFwgYikgcHJpbnRTdHJpbmc7IG5sLgogICBdLgpzdGRvdXQgZmx1c2guCg==