|
Esta página estará em permanente construção até o final do semestre... |
Agosto |
case
. Exemplo de uso: função
filter(P,L)
.if
. Uso da guarda
true
em expressões if
.[H|T]
) e de concatenação
(L1 ++ L2
) de listas.term_to_binary(Term)
e
binary_to_term(Bin)
, que oferecem
funcionalidade análoga à da seriação Java.and
e
or
, que têm funcionamento diferente dos
operadores correspondentes de C e de Java) e com avaliação
em curto circuito (andalso
e
orelse
, que funcionam como os operadores
booleanos de C e de Java).apply(Mod, Func, [Arg1, ..., ArgN])
(item apply da seção 5.4 do Armstrong).Pid = spawn(Fun)
Pid ! Msg
receive ... end
sleep(Time)
flush_mailbox()
priority_receive()
receive ... end
.spawn
: spawn(Mod, FuncName, Args)
Setembro |
trap_exit
) e a noção de "processo de
sistema".spawn_link(Fun)
process_flag(trap_exit, true)
link(Pid)
unlink(Pid)
exit(Why)
exit(Pid, Why)
on_exit
, que instala um exit
handler. spawn(Node, Fun)
spawn(Node, Mod, Func, Arglist)
spawn_link(Node, Fun)
spawn_link(Node, Mod, Func, Arglist)
node()
node(Arg)
nodes()
!
) no
Erlang distribuído: Pid ! Msg
ou
{RegName, Node} ! Msg
.lib_chan
:
lib_chan
.lib_chan
:
start_server()
start_server(Conf)
connect(Host, Port, Service, Passwd, ArgsC)
lib_chan
(seção D.2 do apêndice D do Armstrong).gen_server
do OTP. Exemplo simples de uso do gen_server
.gen_fsm
, gen_event
e supervisor
.supervisor
. Árvores de supervisão.pmap
e funções assemelhadas. Paralelização de
código sequencial por meio de pmap
.Outubro |
val
s), de variáveis que aceitam reatribuições
(var
s) e de funções (def
s).while
).foreach
e
for
).apply
e update
. Caso de
uso: acesso aos elementos de um vetor.scala.collection.Set
,
scala.collection.immutable.Set
,
scala.collection.mutable.Set
e as classes
scala.collection.immutable.HashSet
e
scala.collection.mutable.HashSet
.scala.collection.Map
,
scala.collection.immutable.Map
,
scala.collection.mutable.Map
e as classes
scala.collection.immutable.HashMap
e
scala.collection.mutable.HashMap
. O método
"->
" e a notação
"chave -> valor
".val
s.override
), pré-condições (uso de
require
), auto-referências (uso de
this
), membros privados.implicit
).if
.while
e do
-while
.for
. Os dois empregos de for
:
iteração sobre coleções e produção (yield
) de
coleções.for
e yield
.throw
(lançamento de exceções) e try
(tratamento de
exceções).
Nothing
.)
match
. Além
dos exemplos da seção
7.5, vimos também o exemplo isort
(insertion sort) do capítulo
16 (seções 16.4
e 16.5)
do Odersky.Novembro |
override
.Any
, AnyVal
e
AnyRef
.Null
e Nothing
.Ordered
.case
Option
.case
s é um literal que representa uma função
definida sobre parte dos elementos de um certo tipo.Dezembro |