14. I) A "2.4 reminder cuiO.rb class ReminderCUI def initialize(reminder) @model = reminder end deflist @model.to_a.each do Ik, vi puts format_item(k, v) end nil end def add(str) @model.add(str) End def show (key) puts format_item (key, @model[key]) end def delete(key) putsツキ [delete? (Yin)]: #{@model[key]}” if lツ・s*nツ・s*1 =- gets puts "canceled” return end @model.delete(key) list end private defformat_item (key, str) sprintf("%3d: %sツ・n", key, str) end end 9 - ~ -t Iv 3 "f
15. I) A "2.4 reminder cuiO.rb class ReminderCUI def initialize(reminder) @model = reminder end deflist @model.to_a.each do Ik, vi puts format_item(k, v) end nil end def add(str) @model.add(str) End def show (key) puts format_item (key, @model[key]) end def delete(key) putsツキ [delete? (Yin)]: #{@model[key]}” if lツ・s*nツ・s*1 =- gets puts "canceled” return end @model.delete(key) list end private defformat_item (key, str) sprintf("%3d: %sツ・n", key, str) end end 9 - ~ -t Iv 3 "f
23. リスト 2.4 reminder_cui0.rb class ReminderCUIdef initialize(reminder) @model = reminder end def list @model.to_a.each do |k, v| puts format_item(k, v) end nil end def add(str) @model.add(str) end def show(key) puts format_item(key, @model[key]) end def delete(key) puts" [delete? (Y/n)]: #{@model[key]}" if /¥s*n¥s*/ =~ gets puts "canceled" return end @model.delete(key) list end private defformat_item(key, str) sprintf("%3d: %s¥n", key, str) end end ターミナル 3 で ReminderCUIを起動して実験しましょう(図 2.4)。 さすがにほぼOK! しかし、よくわからないルールで改行が落ちる (Privateなどが単独行にならない)