Linguagens de script com suporte a RAII

75 views
Skip to first unread message

Vinícius dos Santos Oliveira

unread,
Dec 8, 2025, 12:16:25 PM12/8/25
to ccppbrasil
Alguém conhece alguma?

Emerson de Freitas Barcelos

unread,
Dec 8, 2025, 12:19:48 PM12/8/25
to ccppb...@googlegroups.com
Visual Basic 6.0





Em seg., 8 8e dez. 8e 2025 às 14:16, Vinícius dos Santos Oliveira
Alguém conhece alguma?

--

[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
---
Você está recebendo esta mensagem porque se inscreveu no grupo "ccppbrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para ccppbrasil+...@googlegroups.com.

Bruno Sanches

unread,
Dec 8, 2025, 2:27:02 PM12/8/25
to ccppb...@googlegroups.com
O mais perto ao meu ver é usar C# como script e usar o using.



Bruno Sanches
========================
https://github.com/bcsanches


Eric Chiesse

unread,
Dec 8, 2025, 3:57:38 PM12/8/25
to ccppb...@googlegroups.com
Bom, será que então vale o with statement do python?

Não achei que é bem RAII mas meio que vai na linha do using do C#.
---
Eric Chiesse


Você recebeu essa mensagem porque está inscrito no grupo "ccppbrasil" dos Grupos do Google.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para ccppbrasil+...@googlegroups.com.

Eric Chiesse

unread,
Dec 8, 2025, 4:01:51 PM12/8/25
to ccppb...@googlegroups.com
With statements do python e to-be-closed variables de Lua 5.4 implementam pelo menos a parte de liberar recursos ao sair do contexto.

A alocação do recurso em si é mais flexível. Não é necessariamente via construtor (coisa que nem existe em Lua).
---
Eric Chiesse

Bruno Sanches

unread,
Dec 9, 2025, 2:04:07 PM12/9/25
to ccppb...@googlegroups.com
Olha só, não conhecia essa do lua.


Bruno Sanches
========================
https://github.com/bcsanches


Eric Chiesse

unread,
Dec 10, 2025, 7:53:57 AM12/10/25
to ccppb...@googlegroups.com
Pois é. Foi uma ótima adição ao Lua.
Antes pra garantir a liberação do recurso era necessário fazer malabarismo com pcall. Agora tem uma interface bem mais amigável.
---
Eric


Rodrigo Delduca

unread,
Dec 28, 2025, 7:39:13 AM12/28/25
to ccppbrasil
RAII-very-like, Python com context managers. O único ruim é aumentar em 1 a indentação.

Vinícius dos Santos Oliveira

unread,
Mar 31, 2026, 3:47:38 PMMar 31
to ccppb...@googlegroups.com
Achei mais uma. Tem Rhombus, que é um Lisp sem parênteses (e notação
infixa). Hoje descobri que tem uma macro pra Rhombus que
automaticamente re-escreve o resto do código que segue no bloco e
embrulha-no num try-catch pra garantir que vai chamar o método
Closeable.close. Fica algo assim:

block:
Closeable.let tmp = filesystem.make_temporary()
block:
Closeable.let outp = Port.Output.open_file(tmp.path, ~exists: #'truncate)
outp.write_bytes(#"data")
block:
Closeable.let inp = Port.Input.open_file(tmp.path)
inp.read_bytes(4)

Em seg., 8 de dez. de 2025 às 18:01, Eric Chiesse <echi...@gmail.com> escreveu:
Reply all
Reply to author
Forward
0 new messages