#!/usr/bin/env ruby class Purse def initialize(start=0) # コンストラクタの定義 # initializeという名前でメソッド定義しておくと、初期化されるときに # 自動的に呼ばれる(それゆえ通常は定義する)。 # 生成時に呼ばれるメソッドのことを「コンストラクタ」という。 # @で始まる変数はインスタンス変数といいクラス内ですべてのメソッドから # 参照できるもの。@がない変数はメソッド間を越えられない。 @fund = start # 引数を指定しなかったら0になる end def add(amount) if amount < 0 STDERR.printf("マイナスはだめよ(%d)\n", amount) else @fund += amount printf("%d円入れました。\n", amount) end end def sub(amount) if amount > @fund STDERR.printf("そんなに入っていません(残高: %d)\n", @fund) else @fund -= amount printf("%d円出しました。\n", amount) end end def howmuch() # 現在の残高を返す @fund end end