|
Esta página estará em permanente construção até o final do semestre... |
Agosto |
[H|T]
) e de concatenação
(L1 ++ L2
) de listas.case
. Exemplo de uso: função
filter(P,L)
.if
. Uso da guarda
true
em expressões if
.term_to_binary(Term)
e
binary_to_term(Bin)
, que oferecem
funcionalidade análoga à da seriação Java.apply(Mod, Func, [Arg1, ..., ArgN])
.-include
,
-define
, -ifdef
, ...begin Expr1, ..., ExprN end
.erlang:make_ref()
.Pid = spawn(Fun)
Pid ! Msg
receive ... end
sleep(Time)
Setembro |
flush_mailbox()
priority_receive()
receive ... end
.spawn
: spawn(Mod, FuncName, Args)
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. keep_alive(Name, Fun)
, que cria
um processo registrado e o mantém sempre vivo.
spawn(Node, Fun)
spawn(Node, Mod, Func, Arglist)
spawn_link(Node, Fun)
spawn_link(Node, Mod, Func, Arglist)
disconnect_node(Node)
monitor_node(Node, Flag)
node()
node(Arg)
nodes()
is_alive()
lib_chan
:
lib_chan
.lib_chan
:
start_server()
start_server(Conf)
connect(Host, Port, Service, Passwd, ArgsC)
lib_chan
).gen_server
,
gen_fsm
, gen_event
e
supervisor
.gen_server
.supervisor
.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.apply
: método
"fábrica" (factory method) definido no objeto
acompanhante de uma classe.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.Application
.override
), pré-condições (uso de
require
), auto-referências (uso de
this
), membros privados, sobrecarga de
métodos e de operadores, conversões implícitas (uso de
implicit
).Novembro |
if
.while
e do
-while
.for
. Os dois empregos de for
:
iteração sobre coleções e produção (yield
) de
coleções.throw
(lançamento de exceções) e
try
(tratamento de exceções). O tipo de uma
expressão throw
: scala.Nothing
,
que é subtipo de qualquer outro tipo.match
. Além
dos exemplos do capítulo 7, vimos também o exemplo
isort
(insertion sort) do capítulo 16
(seções 16.4 e 16.5) do Odersky.override
.case
(capítulo 15 do Odersky,
seção 15.1).Queue[T]
).def append[U >: T](s: U) = ...
private[this]
).Dezembro |
val
e var
abstratos.val
abstratos. Campos
val
preguiçosos (lazy
).type
s (membros abstratos que
são tipos).