The Undiscoverable/Smalltalk

From Sugar Labs
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article is a stub. You can help Sugar Labs by expanding it.

The following code is taken from a tutorial that unfortunately does not include every step the beginner needs to have explained.

BankAccount tutorial

Object subclass: #NameOfClass

       instanceVariableNames: 'instVarName1 instVarName2'

       classVariableNames: 'ClassVarName1 ClassVarName2'

       poolDictionaries: 

       category: 'My Stuff'
Object subclass: #BankAccount

       instanceVariableNames: 'balance'

       classVariableNames: 

       poolDictionaries: 

       category: 'My Stuff'
b _ BankAccount new.
b inspect 
b balance.


   message selector and argument names
       "comment stating purpose of message"
    
       | temporary variable names |
       statements 


balance

      "Return the balance"

      ^ balance


initialize

       balance _ 0.


deposit: amount

       balance _ balance + amount.


withdraw: amount

       amount > balance ifTrue: [

               ^ self inform: 'sorry, not enough funds']. 

       balance _ balance - amount.


Object subclass: #BankAccount

       instanceVariableNames: 'balance history '

       classVariableNames: 

       poolDictionaries: 

       category: 'My Stuff'


initialize

       balance _ 0.

       history _ OrderedCollection new.


balance: newBalance

       balance _ newBalance.

       history addLast: newBalance.


withdraw: amount

       amount > balance ifTrue: [

               ^ self inform: 'sorry, not enough funds']. 

       self balance: balance - amount.

See also Squeak Smalltalk: Language Reference