fork download
  1. ""1. 図書館システムのデータをオブジェクトとして定義"
  2. | library book1 book2 checkoutAction |
  3.  
  4. "図書情報を保持するオブジェクト(連想配列的な構造)"
  5. book1 := Dictionary new at: #title put: 'Smalltalk基礎'; at: #available put: true; yourself.
  6. book2 := Dictionary new at: #title put: 'オブジェクト指向設計'; at: #available put: true; yourself.
  7.  
  8. "図書館オブジェクト(本を管理するコレクション)"
  9. library := OrderedCollection with: book1 with: book2.
  10.  
  11. "貸出処理(メッセージとして設計)"
  12. checkoutAction := [:aLibrary :aTitle |
  13.   | book |
  14.   book := aLibrary detect: [:b | (b at: #title) = aTitle] ifNone: [nil].
  15.   (book notNil and: [book at: #available])
  16.   ifTrue: [
  17.   book at: #available put: false.
  18.   Transcript show: '【成功】', aTitle, ' を貸出しました。'; cr.]
  19.   ifFalse: [
  20.   Transcript show: '【失敗】', aTitle, ' は貸出できません。'; cr.]
  21. ].
  22.  
  23. "実行"
  24. checkoutAction value: library value: 'Smalltalk基礎'.
  25. checkoutAction value: library value: 'Smalltalk基礎'. "二回目は失敗するはず"your code goes here"
Success #stdin #stdout #stderr 0.02s 7916KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
./prog:1: Invalid character 0xe5
./prog:1: Invalid character 0x9b
./prog:1: Invalid character 0xb3
./prog:1: Invalid character 0xe6
./prog:1: Invalid character 0x9b
./prog:1: Invalid character 0xb8
./prog:1: Invalid character 0xe9
./prog:1: Invalid character 0xa4
./prog:1: Invalid character 0xa8
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xb7
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xb9
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x83
./prog:1: Invalid character 0x86
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x83
./prog:1: Invalid character 0xa0
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x81
./prog:1: Invalid character 0xae
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x83
./prog:1: Invalid character 0x87
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x83
./prog:1: Invalid character 0xbc
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xbf
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0x92
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xaa
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x83
./prog:1: Invalid character 0x96
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xb8
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xa7
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x82
./prog:1: Invalid character 0xaf
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x83
./prog:1: Invalid character 0x88
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x81
./prog:1: Invalid character 0xa8
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x81
./prog:1: Invalid character 0x97
./prog:1: Invalid character 0xe3
./prog:1: Invalid character 0x81
./prog:1: Invalid character 0xa6
./prog:1: Invalid character 0xe5
./prog:1: Invalid character 0xae
./prog:1: Invalid character 0x9a
./prog:1: Invalid character 0xe7
./prog:1: Invalid character 0xbe
./prog:1: Invalid character 0xa9
./prog:4: Invalid character 0xe5
./prog:4: Invalid character 0x9b
./prog:4: Invalid character 0xb3
./prog:4: Invalid character 0xe6
./prog:4: Invalid character 0x9b
./prog:4: Invalid character 0xb8
./prog:4: Invalid character 0xe6
./prog:4: Invalid character 0x83
./prog:4: Invalid character 0x85
./prog:4: Invalid character 0xe5
./prog:4: Invalid character 0xa0
./prog:4: Invalid character 0xb1
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x82
./prog:4: Invalid character 0x92
./prog:4: Invalid character 0xe4
./prog:4: Invalid character 0xbf
./prog:4: Invalid character 0x9d
./prog:4: Invalid character 0xe6
./prog:4: Invalid character 0x8c
./prog:4: Invalid character 0x81
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x81
./prog:4: Invalid character 0x99
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x82
./prog:4: Invalid character 0x8b
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x82
./prog:4: Invalid character 0xaa
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x83
./prog:4: Invalid character 0x96
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x82
./prog:4: Invalid character 0xb8
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x82
./prog:4: Invalid character 0xa7
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x82
./prog:4: Invalid character 0xaf
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x83
./prog:4: Invalid character 0x88
./prog:4: Invalid character 0xef
./prog:4: Invalid character 0xbc
./prog:4: Invalid character 0x88
./prog:4: Invalid character 0xe9
./prog:4: Invalid character 0x80
./prog:4: Invalid character 0xa3
./prog:4: Invalid character 0xe6
./prog:4: Invalid character 0x83
./prog:4: Invalid character 0xb3
./prog:4: Invalid character 0xe9
./prog:4: Invalid character 0x85
./prog:4: Invalid character 0x8d
./prog:4: Invalid character 0xe5
./prog:4: Invalid character 0x88
./prog:4: Invalid character 0x97
./prog:4: Invalid character 0xe7
./prog:4: Invalid character 0x9a
./prog:4: Invalid character 0x84
./prog:4: Invalid character 0xe3
./prog:4: Invalid character 0x81
./prog:4: Invalid character 0xaa
./prog:4: Invalid character 0xe6
./prog:4: Invalid character 0xa7
./prog:4: Invalid character 0x8b
./prog:4: Invalid character 0xe9
./prog:4: Invalid character 0x80
./prog:4: Invalid character 0xa0
./prog:4: Invalid character 0xef
./prog:4: Invalid character 0xbc
./prog:4: Invalid character 0x89
./prog:8: Invalid character 0xe5
./prog:8: Invalid character 0x9b
./prog:8: Invalid character 0xb3
./prog:8: Invalid character 0xe6
./prog:8: Invalid character 0x9b
./prog:8: Invalid character 0xb8
./prog:8: Invalid character 0xe9
./prog:8: Invalid character 0xa4
./prog:8: Invalid character 0xa8
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xaa
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x83
./prog:8: Invalid character 0x96
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xb8
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xa7
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xaf
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x83
./prog:8: Invalid character 0x88
./prog:8: Invalid character 0xef
./prog:8: Invalid character 0xbc
./prog:8: Invalid character 0x88
./prog:8: Invalid character 0xe6
./prog:8: Invalid character 0x9c
./prog:8: Invalid character 0xac
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0x92
./prog:8: Invalid character 0xe7
./prog:8: Invalid character 0xae
./prog:8: Invalid character 0xa1
./prog:8: Invalid character 0xe7
./prog:8: Invalid character 0x90
./prog:8: Invalid character 0x86
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x81
./prog:8: Invalid character 0x99
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0x8b
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xb3
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x83
./prog:8: Invalid character 0xac
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xaf
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x82
./prog:8: Invalid character 0xb7
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x83
./prog:8: Invalid character 0xa7
./prog:8: Invalid character 0xe3
./prog:8: Invalid character 0x83
./prog:8: Invalid character 0xb3
./prog:8: Invalid character 0xef
./prog:8: Invalid character 0xbc
./prog:8: Invalid character 0x89
./prog:11: Invalid character 0xe8
./prog:11: Invalid character 0xb2
./prog:11: Invalid character 0xb8
./prog:11: Invalid character 0xe5
./prog:11: Invalid character 0x87
./prog:11: Invalid character 0xba
./prog:11: Invalid character 0xe5
./prog:11: Invalid character 0x87
./prog:11: Invalid character 0xa6
./prog:11: Invalid character 0xe7
./prog:11: Invalid character 0x90
./prog:11: Invalid character 0x86
./prog:11: Invalid character 0xef
./prog:11: Invalid character 0xbc
./prog:11: Invalid character 0x88
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x83
./prog:11: Invalid character 0xa1
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x83
./prog:11: Invalid character 0x83
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x82
./prog:11: Invalid character 0xbb
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x83
./prog:11: Invalid character 0xbc
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x82
./prog:11: Invalid character 0xb8
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x81
./prog:11: Invalid character 0xa8
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x81
./prog:11: Invalid character 0x97
./prog:11: Invalid character 0xe3
./prog:11: Invalid character 0x81
./prog:11: Invalid character 0xa6
./prog:11: Invalid character 0xe8
./prog:11: Invalid character 0xa8
./prog:11: Invalid character 0xad
./prog:11: Invalid character 0xe8
./prog:11: Invalid character 0xa8
./prog:11: Invalid character 0x88
./prog:11: Invalid character 0xef
./prog:11: Invalid character 0xbc
./prog:11: Invalid character 0x89
./prog:23: Invalid character 0xe5
./prog:23: Invalid character 0xae
./prog:23: Invalid character 0x9f
./prog:23: Invalid character 0xe8
./prog:23: Invalid character 0xa1
./prog:23: Invalid character 0x8c
./prog:25: Invalid character 0xe4
./prog:25: Invalid character 0xba
./prog:25: Invalid character 0x8c
./prog:25: Invalid character 0xe5
./prog:25: Invalid character 0x9b
./prog:25: Invalid character 0x9e
./prog:25: Invalid character 0xe7
./prog:25: Invalid character 0x9b
./prog:25: Invalid character 0xae
./prog:25: Invalid character 0xe3
./prog:25: Invalid character 0x81
./prog:25: Invalid character 0xaf
./prog:25: Invalid character 0xe5
./prog:25: Invalid character 0xa4
./prog:25: Invalid character 0xb1
./prog:25: Invalid character 0xe6
./prog:25: Invalid character 0x95
./prog:25: Invalid character 0x97
./prog:25: Invalid character 0xe3
./prog:25: Invalid character 0x81
./prog:25: Invalid character 0x99
./prog:25: Invalid character 0xe3
./prog:25: Invalid character 0x82
./prog:25: Invalid character 0x8b
./prog:25: Invalid character 0xe3
./prog:25: Invalid character 0x81
./prog:25: Invalid character 0xaf
./prog:25: Invalid character 0xe3
./prog:25: Invalid character 0x81
./prog:25: Invalid character 0x9a