# $ %&
' (
)
; <
= > ?
D < F G<
* +, - - . - /0 1 2 , 3 . 1 4 , 5- 2 ,
@?
L ?
@? A > ? B
O M@GC
H U G< L < @ L <
C D E ? @? F GC E ? H < @
L <
6 5. 7 , 7 8 0 5,
C @
I JC @ @ ? @
K> F L C H ? F GC M@
> G MJ MP C L < E Q R < @G ? E M< E H ? F G ? B
D E< G< I < J<
L ? @GC
* 9 ++. : 4 59 1
? @G> L C E ? H < @
L C
C
N M? E C E = > MC
Collection
MH D J? H ? F GC S T <
L ?
B
L <
C JA > F @
N M? E C E = > MC Q
V W XY Z [ \ Y ]
^ H C
<
_ ` ab _ c d `
D < L ?
@? E
O M@GC
I < H <
C I ? @ @ < B G ? @G ? B MF @ ? E S T < B E ? H < S T <
R < E
O ? P ? @B
i H C J JG C Jj B
? H
R E < A E C H C S T <
KC P k @?
C
L M@GMF S T <
O M@G<
@MH D J? @H ? F G?
I < H <
? F GT <
> H C
I < H <
I < J? I S T <
A E> D <
? F GE ?
L ?
< ef ? I G< @ C F g F MH < @ I < H
? F > H ? E C S T <
h E M? F GC L C
> H
> H
?
> H
D < E
< ef ? I G<
?
I C D C P
I < F G? F G< E
I < H
D C E C
L < @ @? > @ H ? H e E < @ Q
h ef ? I G< @
_ ` ab _ c d `
D E < G< I < J<
?
F < > GE C @
_ ` l mb l m` n Q ; ? @ @ ?
L ?
A > C E L C E
I C D C I ML C L ?
< > GE< @
L ?
JMF A > C A ? F @
I C @< B
> H
< ef ? I G< @B
C I ? L ? E
= > ?
F T <
I < F G? F G< E
<
U
L ? KMF MF L < k @?
C < @ O C J< E ? @
L ?
G< L < @
< @ @? > @ H ? H e E < @ Q
i H C J JG C Jj B > H C
o H
D C E C
< @
@? > @
< ef ? I G< @B
L ?
I < J? I S T <
? J? H ? F G< @ Q
I < H <
O MH < @
? t ? I > S T < Q u @ @MH
F T <
r @G<
U
= > C F L <
I < F GU H
? H
G> L <
K C JC H < @
L C
I g D MC @
L < @
@? H ? JN C F G?
@? > @
C <
E ? D E ? @? F GC S T <
? J? H ? F G< @ p I < F GU H
= > ?
C I < F G? I ?
? @GsGMI C
L ?
E ? K? E q F I MC
I < H
< ef ? I G< @
< @
< > GE< @
? H
G? H D <
v
| umPonto umArray |
umPonto := 0@0.
umArray := Array with: umPonto.
“cria o array #(0@0)”
umPonto x: 1/2.
^umArray
o Array
U
> H
? t ? H D J<
L ?
“Responde o array #((1/2)@0)”
> H C
I < J? I S T <
= > ?
G? H
C
D C EGMI > JC E ML C L ?
L ?
G? E
w x y z {
|} ~{ | y
| { }
| y
! " ! ! !
# $% & ' & ( )* ( + ,(
% -
' $$ ' . -
7 ' $,41 5 )' $ * ( + ,( & ( $ 0 ' 0 (
? 9
@ ' -
)4+ 8 5 ' 8 ( + -
4+ , ( + - 4& '
(
5 * '
* ( )G % $
1 ' 7 ' 1 40 ' 0 (
-(
' 0 ( C 5 '
1 $ ( - 1 (
0 (
D -
1 % )( 1 2 3 ( -
)4+ 8 5 ' 8 ( + - + / %
% $ 4( + ,' 0 ' -
& ' $ 4( 0 ' 0 (
0 5 7 )41 ' 0 % - 9 H *
7 % 0 ( *
7 ' $ '
0 ' -
'
E, 47 % - 0 ( F
7 % $
1 % + , ( $ C 5 ' )C 5 ( $ , 47 %
0 (
C 5 (
_ `a b b c
a q a `ra i
a
Collection
l b a
c s
f
d
'
4-,%
C 5 (
# % $
% $ 0 ( + ' *
7 $ % 8 $ ' * ' 2 / % 9
5 -' $
' $$ ' . ->
' 1 % + ,( 2 '
( A ( * 7 )% >
% -
, 47 4K 4 1 ' 2 / %
% < = ( 1 ,% - > 4+ 1 )5 4+ 0 %
_ `a b bc
( *
;
'
\ [Q U O U ] X [O
a g bhi a _ ha
c
+ / %
,( * % - D
0 4+ L * 41 '
0 (
+ % - - '
' C 5 ( )(
1 % )( 1 2 3 ( -
( )( * ( + ,% -
% 5
0 ' 0 % ->
,/ %
1 5 = '
( )4* 4+ ' *
' -
1 % )( 1 2 3 ( -
% 5 ,$ ' - 1 % )( 1 2 3 ( - 9
M S NNQ R V [S T
a
e f
-( 5 -
,( * % -
;
)4+ 8 5 ' 8 ( *
* ' -
C 5 (
: -, %
1 % )( 1 2 3 ( -> 0 % - C 5 ' 4- 7 % 0 ( $ ( * % - ( -1 % )G ( $
( A 4-,(
M NO P P Q P R S T R U Q V O P WX T Y O Z Q T V O [P Y O
^
C 5 (
+ ( 1 ( - -40 ' 0 ( - 9
' 5 ,% * ' ,41 ' * ( + ,( >
5 ,4)46 ' 0 ' -
1 % + ,4+ 5 ' $ ( * % -
0 ' - $ ' 6 3 ( - 7 ' $ '
+ % - -' -
I * ' ) ), ' )J >
* ' 4 -
% $4( + ,' 0 ' - 7 % $ % <= ( 1 ,% -> 1 % * %
% <= ( 1 ,% ->
( A , ( + - 4& ' * ( + , ( 9 B * '
0 4-7 % -42 / %
C 5 (
-/ %
b
d
c i
_ `a b bc
k c
hl k a b
a
_ l `c _ m n c b o
p c
e j
i c b b t l
j
Collection allSubclasses size
_ u c v a w bc
x
_ l y _ `
bt l
z
e
} c bha b
y c
c
hl k a b
bt l
a
Collection
e
_ `a b bc b
b
c i
d
_ `a b bc
_ l y _ i c ha b o
~ l
a i a
a _ r ` rh a i
a
i c
j
c
hr`r a m t l
q c i c
k c
l b
y a
_ `a b bc b o
f
c s rbhc
ha
f
_ k rv l
_ l
f
u rc i a i z
ra o
^ b
{ |
g
f
_ `a b bc b
d f
_ `a b bc b
_ l y _ i c ha b
e
c
q i ra b
_ `a b br r_ a m n c b
l b b q c r b
j
a rb
hr`r a k a b
a i a
e
a
k a b
c y ha rb
k a
ra o
a
rv
k rbhry v
a
e
i a
l k c
e
j
u rc i a i z
ra
e
c y a b a
c y ha i
e f
c s rbhc
a
_ l `c _ m n c b a
rv
i a
b c v
e
a `v
_ `a b bc
a b
k a b
_ `a b bc b
ry hc
hc
c y hc
k r
f
f
_ l y _ i c ha b
c y bt l
a
b
c y bt l
f
f
rs a hl k a b a b l
hi a b _ `a b bc b k a
e
a
k r
e
k r
e f
y k a
f
f
f
l bhi a
e
e
Array
a hr_ a
f
hi a b _ `a b bc b _ l
e
a b
e f
hl
e
l
f
ri
j
a
f
a i a
e
i a
e
o
j
j
u rc i a i z
rv
ra
e
Array String Interval Bag Set Dictionary OrderedCollection SortedCollection List
f
f
u rc i a i z
e
TwoDList LinkedList NameSpaceBindings
} a b
l
f
a g bhi a _ha b
e
a
e f
f
ry _ `
k c
e j
c y b t l o
ah
f
rs a _ l
l
f
i a `
e
l i c s c
j
c y hc
f
`l
a
c
y a
e
_ `a b b c
f j
z
String
o
! " ! !
? % 8 ,- &
% / 9 0,2 ( % + :
Q
7 +8
& :- &
23 (4 &
5
R
V 6
S &
- 6
W R R
T % & ' - ,- U S & -
X Y
W C D EEF G HID J
KL M NH O L G H P
Z 7 3 (4 &
,' - & ,$ (
; ,8 & ' : * + < , = (
# $% &8
> ? % 8 ,- & ( % , 2 , + ' ( $ 8 + :
# @A & 2- + : B
% ( % ( 9 & 0(
,' : & $ ) * +
5
W Z # $% &' ( )*+
,' - & $ ' (
5
[ Y
6
\ Y
. / ( 01 / & $
23 (4 &
] ^ _ ` _ a _ b_
h
a _ c d c
i jklkm n o p q
t q i
n
r n s
n l t q q
r u i n
` _ f e g e g
t ln s s u s
n s
t n ju q wkn s t w kn o p q
e
si n s
r n
Collections
v ku w n w x i kn
t ln s su s
y
z n t k l kj n r n
t q ~ t w u jn s
sju
{ n w n
{ wq jq t q lq
r u k~ sj ~ t k n s j u sj u s t q ~ u w s u s u
u | ksj} ~ t kn
u sj
r u
q w n ~ km n r q
i
~ n s
{ w q jq t q lq
su i k~ ju s
kj u w n r q w u s
u
{ w n jkt n u ~ ju jq r n s n s t ln s su s t q ~ t w u jn s n
t q lu t o p q
y z u kj n
u ~ kn ~ r q
{ n w n
n
t ln s su
r n
t wkn o p q
t q lu t o p q
r u i n
{ w uju ~ r kr n
k~ sj ~ t kn
n
n m kn
u ~ sn u
new.
| u { lq
| aDictionary |
aDictionary := Dictionary new.
! " ! !
h
t w kn o p q
r u
q r u q s jn
i n
y
t q lu t o p q
t w kn w i n
t q
n
t q lu t o p q
u lu u ~ jq s
i sn ~ r q
y
i n
z u kj n
i s n ~ r q
u | { w u s sp q
n
t q q
u ~ s n u
n
new: n.
su i k~ ju
| aBag |
aBag := Bag with: 1 with: $c with: #(3).
sju
j k{ q
r u
u ~ sn u
{ n w n i
~
t wkn o p q
r u
k~ sj ~ t kn
with: with: with: with:
ju
u
su
q sjwn r q
~ u t u s s w kq
jkl
{ q r u q s
u
{ w jkt q
njy
k { lu u ~ jn w
n
u lu u ~ jq s
u s n
kr u kn
u w q si { u w kq w r u u lu u ~ j q s q x i u y jw k kn l
q r n s n s t q lu t o u s sn
u
w u s{ q ~ r u w
size
isEmpty
includes: anObject
s su i k~ ju s u ~ sn u ~ s
w u s{ q ~ r u
q
w u s{ q ~ r u
su
w u s{ q ~ r u
n ~
occurencesOf: anObject
jn n ~ v q
q
r q
w u t u { j q w
w u t u { jq w u sj q i
su
q
w u t u { jq w
~ p q
k~ t li k
n m k q
q i
~ p q
q
n w i u ~ jq
u tj
w u s{ q ~ r u
q
~
w u t u { jq w
uwq
r u
q t q ww } ~ t kn s
r u
anObject
~ q
| u { lq s
| anOrderedCollection |
anOrderedCollection := OrderedCollection new: 5.
anOrderedCollection size.
“responde 0”
anOrderedCollection isEmpty.
“responde true.”
anOrderedCollection includes: 1
“responde false.”
anOrderedCollection occurrencesOf: 1
“responde 0”
i n lx i u w
k~ sj ~ t kn
t q lu t o p q
snsu i
r u
i n
t q lu t o p q
{ q r u
su w
r q s y jq r q s su i k~ ju s { n w n
jwn ~ szq w n r n
q
~ i n
k~ sj ~ t kn
r u
q i jw n
ju w q s n t q ~ u w sp q { w uju ~ r kr n
! " ! !
asArray
asBag
asSet
asOrderedCollection
asSortedCollection
asSortedCollection: aBlock
…
kj u w n r q w
su x i } ~ t kn
r u
q i
u ~ i u w n r q w
y
i
u t n ~ ks q
u lu u ~ jq s r ks{ q ~ u k s i
x i u { n wjk~ r q
r u
i n
t q lu t o p q u w n
i n
n i
do: aBlock
zu t ji n
aBlock
u
t n r n
u lu u ~ jq
u s{ q ~ r u
q
r q
w u t u { jq w
n
jw n ~ szq w n o p q
u s{ u t kz kt n r n
u
w u t u { jq w
collect: aBlock
zu t ji n
w u jq w~ n
q
i n
i n
jw n ~ zq w n o p q
~ q n
sq
t q lu t o p q
wu tnr n
r n
u lu u ~ jq
u s n
t ln s s u
r n
r q
t q lu t o p q
w u t u { jq w
w u t u { jq w n
t q ~ ju ~ r q
u
q s
u tjq s jwn~ szq w n r q s
select: aBlock
u jq w ~ n
i n
w u s{ q ~ r u w n
t q lu t o p q
true
n q
r n
j u sj u
u s n
t ln s su
u s{ u t kzkt n r q
u
r q
w u t u { jq w
aBlock
t i
q s
u lu u ~ jq s
reject: aBlock
u jq w ~ n
q s q
i n
t q lu t o p q
r n
u t jq s x i u zn lv n w n
u s n
q
t ln s su
r q
w u t u { jq w t i
ju sju u s{ u t kz kt n r q
u
q s u lu u ~ jq s
aBlock
sp q
detect: aBlock
u s{ q ~ r u
q
u s{ u t kzkt n r n
{ w k u kw q
r u ~ jwq
r q
u lu u ~ jq
lq t q
r n
aBlock
t q lu t o p q
x i u
sn jkszn m
n
t q ~ r ko p q
! "
! !
inject: initialValue into: aBlock
h t i i ln
lq t q
ju
su i ~ r q
r n r q
i
r q ks
y
{ q w
n lq w
q
x i u
w u si lj n
n w i u ~ jq s
u lu u ~ jq
initialValue
r n
n tji n l r n
u s{ q ~ r u
n n lkn o p q
{ wk u kw q
y
t q lu t o p q
q
r q
q
n w i u ~ jq
n lq w
n t ji n l
n lq w k~ kt kn l r q
aBlock
sj u
n t i i ln r q q
n t i i ln r q
y
n lq w n t i i ln r q
| u { lq s
|a|
a := #(1 2 3 4).
a collect: [ :e| e even ]. “#(false true false true) ”
a reject: [ :e | e even ]. “#(1 3) i.e., rejeita os elementos que passam o teste”
a select: [ :e | e even ]. “#(2 4) i.e., colecciona os elementos que passam o teste”
a do: [ :e | e even ].
n
r q u
“#(1 2 3 4)”
w n ~ s t w k{ j
sv q u { wk~ j
a detect: [ :e| e even ].
n
k~
utj
k ~ j q { n w j k n l
n
k~
utj
Bag
f g a ^ _
~ r kt u
{ n w n
u s { u t k n l n r kj u
su
Bag
q
{ n w j k n l
i
u
{ n wjkn l
i
u
w q r i t j
u
{ n wjkn l
w q r i tj
u responde 24, i.e., responde o produto dos elementos do receptor.
n t u r u w
n q s
su i s
q
u lu u ~ jq s l
lu t jkq ~
q s
^ e ^ d e
t q
u lu u ~ jq s
Collection
t n w n t ju wsjkt n s n ks u w n ks
~ p q
j}
~ u ~ v i n
q w r u
u lu u ~ jq s r i { lkt n r q s
t q ~ jn r q w n s sq t kn r q
n
t n r n i
r q s su i s u lu u ~ jq s r u
t n r n u m
x i u
u t j q k i n l n u s s u u l u u ~ j q
h s k~ s u w o u s sp q
z u kj n s i s n ~ r q
k~ s u w u
~ q
anObject
u lu u ~ jq s r u
e b d c e g f e g ^ a e g a be g g g f k~ t w u u ~ jn i
k~ s u w u i
n r n s t ln s su s t q ~ t w u jn s r n v ku w n w x i kn
u
h
f t w
responde 10, i.e., responde a soma os elementos do receptor.
k~ j q ^ j w k~
w u t u { jq w aCollection
~ q
add: anObject
u ~ x i n ~ jq
n
q i
addAll: aCollection
su i ~ r n
u ~ sn u
h
{ w k u kw n
k~ s u w u
u ~ sn u
t n r n
i
r q s
w u t u { jq w
| u { lq s
! "
! !
| anArray aBag |
anArray := Array with: 1 with: 2.
aBag := Bag new.
aBag add: anArray.
^aBag
u u
Bag
u m
r n
“responde Bag(#(1 2))”
u ~ sn u
add:
jk u s s u q s i s n r q
n
u ~ sn u
n
w u s{ q sjn juwkn
q
sk ~ kz kt n r q
addAll
skr q
h s w u q o u s
sp q
z u kj n s i s n ~ r q
i sn ~ r q
n s
u ~ sn u ~ s
su i k~ ju s t i
r u u w
su w n q w n u kr u ~ ju
remove: anObject
remove All: aCollection
h s u ~ sn u ~ s
{ q r u
Set u
add: addAll: remove: removeAll:
sp q
u ~ ju ~ r kr n s { q w jq r n s n s t q lu t o u s x i u
t w u st u w n i jq n jkt n u ~ ju
s q u t jq s r u sjn t ln s su
h s sk n s k~ sj ~ t kn s r u
Set
w u { w u su ~ jn
~ p q
| u { lq
n r kj u
t q ~
i ~ jq s ~ q
su ~ jkr q
n ju jkt q
r q
ju w q
r i { lkt n r q s
| anArray aSet |
anArray := #( a a b c c a ).
aSet := anArray asSet.
^ aSet.
| u { lq
w u s{ q ~ r u
Set ( a b c )
| set1 set2 |
set1 := #( a b c d ) asSet.
set2 := #( a c ) asSet.
^ set1 – set2
IdentitySet u u lv n ~ ju n q
Set
u
w u s{ q ~ r u
Set ( b d )
jq r q s q s n s{ u t jq s u | t u { jq
x i u
i sn
==
u
u m
r u
=
{ n w n ju sjn w r i { lkt n r q s
! "
! !
q q
Array n ~ j}
k q s
n s
{ q sko u s
u ln jk n u ~ j u
u | u { lq
n
i
n
x i n lx i u w
q
lk w u u ~ j u
{ klv n s
lksjn
zkln s
lk
k ~ y
v n
q
k
y jn
n
zkln
r u
z u kj n s
v
r u
z u kj q s r q
q
~ q s
~
u lu u ~ jq
r u
t q ~ jw wkq
z k| q
{ q r u q s
i sn w
sjn t y
~
y
i n
t v n u s
q s
n t u s sq s
{ u lq
x i u
r n
{ q r u
t v n n r q
h q
q i
r u i n
k~ sj ~ t kn s
i
t n sq
t q ~ jw wkq
ju { q
ln r q
r n
r q
n
lksjn
u
i
r u
jw s r km
y
jq r n s
n
zkln
su x i u z k
~ n
i n
n s
ksjn
r u
i n
~ r kt u
t q q
r u
{ q w
k~ sj ~ t kn
r u
n
k~ ju kw q
u
n t u kj n
k~ sj ~ t kn
n r kt kq ~ n w
i n
i n
su { q w
x i u
n s
u s q
k~ s u w kw
u
r u
w u q u w
{ n w n
lksjn
lq t n l
y
q
r n
{ w k u kw q
k { lu u ~ jn w
l ~
y
n
n
q ~ r u
w u { w u su ~ jn r n
u
lksjn
q w r u ~ n r n
l
l
k~ su w o u s
q i
w u q o u s
n
x i u
u
{ q r u q s
su w w u q kr q i
zkln
lksjn
w u q u
y
u
z ~
n jw s
q i jwq
su
q w r u ~ n r n
w u q o u s
u sj
k~ ju kw q
t q q
i n
OrderedCollection
u
z z
~ r kt u
k~ ju kw n s
n ww n
{ q r u q s
{ n wjkt i ln w
r q
u lu u ~ jq
sj n t
zkln
t q ~ jw wkq
n r n
z u kj q s
lksjn u lu u ~ jq s
t q lu t o p q
su w
q w r u ~ n r n
sp q
q s
t i
i
h ww n
r u
~ n ji w n l w u { w u s u ~ j n
lksjn
n u m x i u q lj k q
n ks
ln r q
r u
~ y s k q u lu u ~ j q q i jq q
u n lk sj n u sj k u w n m kn ~
u s{ u w n
i
n r kj u
k~ sj ~ t kn
OrderedCollection
u lu u ~ jq s t q
jq r q s
y
zi ~ r n u ~ jn l
k~ s u w kr q
y
n jw n y s
z k| n
n ks u zkt ku ~ ju s
h q
jn n ~ v q
u s{ u w n
sjn t kj i n l u ~ j u
sjn t j k{ q
su { w u
u
x i u
v n
kj i n l u ~ j u
y
z zk k
~
q
r u
q
u lu u ~ jq
jq r n s
jq r q s
u lu u ~ jq
n
r n r q s
n s
n
sjw n t jq
x i u
zq k
k~ su w o u s
sp q
q s
r n
n t u s sq s
zw u ~ ju
u
sp q
z~
kj i n l u ~ j u w u z u w k q k~ su w o p q { q w { i j u s w u q o u s { q w uj
| u { lq
u
r u
t v n n w jq { q
y
r u
q w r u ~ n r n
{ q w
jn
i n
u lu u ~ jq
ju
h s sk
r k u ~ sp q
n t u r u w n q s s u i s u lu u ~ jq s n jw n y s r u i
{ n ln w n s i n
q i
x i u
t q
n t u s s u k s
u t jq s x i u w ~ q k~ t kq x i u w ~ q zk
q
q i jw n s
u sjp q
t q q
t q q
~ p q
OrderedCollection
u
t q lu t o p q
q s n ww n s sp q
n l
{ u w kj u
utjq
i n
t q lu t o u s
OrderedCollection
OrderedCollection
y
w u ln jk n s
q i jw n s
^ f ^ f _ bb a ` _
q w
n ww n jklkm n o p q r u i n
w u q o u s s u n
z u kj n s ~ q
OrderedCollection
zk
r n
t q q
sj n t z n m u ~ r q
t q
x i u
n s k~ su w o u s
t q lu t o p q
| anOrderedCollection |
anOrdered := OrderedCollection new.
! "
! !
n w n
anOrderedCollection addLast: 1.
“i.e., push: 1”
anOrderedCollection last.
“1 i.e., top”
anOrderedCollection removeLast.
“1 i.e., pop”
anOrderedCollection isEmpty.
“true”
n ly
r n
u ~ s n u
u ~ sn u ~ s r u
k~ su w o p q
addLast:
q s
utjq s
q
r u
OrderedCollection
n r kj u
n k~ r n
n s
t q q
addFirst: anObject
add: anObject
s
q
q w r u ~ n o p q
y
SortedCollection
q ks sp q
n
“o mesmo que addLast: anObject”
q w r u ~ n o p q
k~ ju w~ n
utjq s
{ q w
r u sjn
q w r u
t ln s s u
n ~ j}
t w u st u ~ ju
u | { w k k~ r q
i n
su ~ jkr q
t q ~ r ko p q
q s
su i s
ln jq
u lu u ~ jq s
i jklkm n r q w
lq t q
~ i
t q
q w r u ~ n r q s
{ q r u w
r q ks
q w
n lj u w n w
n
n w i u ~ jq s
| u { lq
| anArray aSortedCollection |
anArray := #( b a c d ).
“(*)”
aSortedCollection := anArray asSortedCollection: [ :x :y | x > y ].
^ aSortedCollection
h
t q ~ r ko p q
u lu u ~ jq s
r u ~ jwq
r q
lq t q
t q ~ s u t i j k q s
ju w
{ q r u
x i u
su w
“responde SortedCollection ( d c b a )”
u ~ ju ~ r kr n
u
sn jksz n m u w
t q q
q
n
t q ~ r ko p q
lq t q
zq w
x i u
q kj kr q
x i n lx i u w
u
(*)
{ n w
r u
k
u
su
u st w u u w q s n { u ~ n s
anArray asSortedCollection
n
t ln s su
i n
q w r u ~ n o p q
List:
r n
SortedCollection
h
t ln s su
t q
x i u
i n
~ q n
h s
si
List
i jklkm n { q w
t w u st u ~ ju ~ q
t q
Model
zq w n
k~ n
q w
n s
q ks sp q q
su ~ jkr q
k~ jw q r i m kr q s ~ q
q
[ :x :y | x <= y ]
x i u
t q ww u s{ q ~ r u
ln jq
t n w n t ju w sjkt n s
u | u { lq
lq t q
r u
k~ kt kn l u ~ ju
u ~ jn ~ jq
OrderedCollection
q s
{ q r u
u lu u ~ jq s
s u w
u
sp q
SortedCollection
q w n ~ km n r q s
q w r u ~ n r q s
~ q
u
n k~ r n
{ u ln
li n w
q w r u
su
t w kn w
lksjn
t q lu t o u s
t ln s su s r u
u
x i u
t n r n
u lu u ~ jq
SequenceableCollection,
{ q r u
jn ks
su w
t q q
n t u r kr q
{ q w
k sj h w w n
i
jwk~
~ r kt u
u
k~ ju kw q
wr uwur
n s
q llu t j kq ~
! "
! !
{ q r u
su w
t q ~ t n ju ~ n r n s
n r kj n
k i n l u ~ ju
u s q
j k{ q
r q
i s n ~ r q
~ r kt u s
n
u ~ sn u
k~ j u kw q s
w u t u { jq w t q ~ ju ~ r q
h
, .
u ~ sn u
q s u lu u ~ jq s r u
n w i u ~ jq
,
n
w u s{ q ~ r u
y
q i jw n
i n
t q lu t o p q
~ q n
x i u
t q lu t o p q
r q
n s n s t q lu t o u s
| u { lq
| anOC anArray combination |
anOC := #(1 2 4) asOrderedCollection.
anArray := #( a b c) .
combination := anOC , anArray
“responde OrderedCollection (1 2 4 #a #b #c)”
Dictionary
r q s
su i s
jklkm n i n
u lu u ~ jq s
t v n u
u
~ p q
zn t jq
~ u t u s sn w kn u ~ ju
n
t v n u
{ q r u
su w
~ i y w kt n
x i n lx i u w
{ n w n
q
w u zu w u ~ t kn w
u tjq
t n r n
r kz u w u ~ ju
r u
i
nil
| u { lq s
| listaTelefonica |
listaTelefonica := Dictionary new.
listaTelefonica at: ‘Maria’ put: 123.
listaTelefonica at: ‘Manuel’ put: 456.
( listaTelefonica includesKey: ‘José’ )
ifTrue: [ ^ listaTelefonica at: ‘José’ ]
ifFalse: [ ^ ‘Não existe na lista’ ].
n lj u w ~ n j k n u ~ j u
listaTelefonica at: ‘António’ ifAbsent: [ ^’Não existe na lista’ ].
listaTelefonica removeKey: ‘Maria’ ifAbsent: [ ^’Não existe na lista’ ].
c b_ g
f u u~ jq
d ` b e _
r u
t
r k q
f a _ b a x i u
g
w u s{ q ~ r u
x i n ~ jq s
r kj q s
k { n w u s
u | ksju
~ i
r n r q
k~ ju kw q
|n|
n := 12345.
^(n printString select: [:e | e odd]) size
! " ! ! !
u u ~ j q r u t r k q x i u u s t w u u ~ q
~ i n
r n r n
zw n su
w n ~ st w k{ j q
q w
u | u { lq
q
Transcript
r n r n
n
~
zw n s u
u wq r u q t q ww} ~ t kn s r u t n r n lujwn
sjq
y
i
u | u { lq
ju w u q s
~ q
su i k~ ju
e -> 2
i -> 1
l -> 1
m -> 2
...
| aString aBag |
aString := Dialog request: ‘Frase:’ initialAnwer: String new.
aBag := Bag new.
aString do: [ :char | char isLetter
ifTrue: [ aBag add: char asLowercase ]].
aBag asSet asSortedCollection do: [ : aLetter |
Transcript show: aLetter printString, ‘->’,
(aBag occurrencesOf: aLetter) printString; cr].
^
a e g
^ a _ c f e f e g e ^ e
e ^ _
d f e ^
_ g e g g d ` _ g ` ^ e ` e f _ g
n lu
n ll
w n u
{ { uw n r r lu
k~ t q
k u w
v j j {
t k ~ t q
t q
ksi n l
q w s h { { lkt n jkq ~
w u ~ jkt u
s n l lj n l u u lq { u w
s
i kr u
! " ! ! ! !