Skip to content

Commit 809dc3e

Browse files
authored
Translation of Ruby 3.4.0.preview2 (es) (#3397)
1 parent 0bd68fb commit 809dc3e

File tree

1 file changed

+169
-0
lines changed

1 file changed

+169
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 3.4.0 preview2 Released"
4+
author: "naruse"
5+
translator: vtamara
6+
date: 2024-10-07 00:00:00 +0000
7+
lang: es
8+
---
9+
10+
{% assign release = site.data.releases | where: "version", "3.4.0-preview2" | first %}
11+
Nos complace anunciar la publicación de Ruby {{ release.version }}.
12+
13+
## Prism
14+
15+
Cambió el analizador sintáctico predeterminado de parse.y a Prism.
16+
[[Característica #20564]]
17+
18+
## Cambios en el lenguaje
19+
20+
* Las cadenas literales en archivos sin un comentario `frozen_string_literal`
21+
ahora producen una advertencia de obsolescencia cuando se mutan.
22+
Estas advertencias pueden habilitarse con `-W:deprecated`
23+
o estableciendo `Warning[:deprecated] = true`.
24+
Para deshabilitar este cambio, puede ejecutar Ruby con el argumento
25+
`--disable-frozen-string-literal` en la línea de ordenes.
26+
[[Característica #20205]]
27+
28+
* Se añade `it` para referenciar un parámetro de bloque.
29+
[[Característica #18980]]
30+
31+
* Ahora soporta splat de palabra clave `nil`
32+
cuando se llaman métodos.
33+
`**nil` se trata de manera similar a `**{}`, al no pasar
34+
palabras clave, ni llamar método de conversión alguno [[Falla #20064]]
35+
36+
* Ya no se permite pasar bloques como índices. [[Falla #19918]]
37+
38+
* Argumentos de palabra clave ya no son permitidos como índices.
39+
[[Falla #20218]]
40+
41+
42+
## Actualización a clases fundamentales
43+
44+
Nota: Listamos sólo actualizaciones a clases muy importantes.
45+
46+
* Excepción
47+
48+
* `Exception#set_backtrace` ahora acepta un arreglo de
49+
`Thread::Backtrace::Location`.
50+
`Kernel#raise`, `Thread#raise` y `Fiber#raise` también aceptan
51+
este nuevo formato. [[Característica #13557]]
52+
53+
* Rangos
54+
55+
* `Range#size` ahora lanza `TypeError` si el rango no es iterable.
56+
[[Varios #18984]]
57+
58+
59+
60+
## Problemas de compatibilidad
61+
62+
Nota: Excluyendo correcciones a fallas.
63+
64+
* Se han cambiado mensajes de error y presentación de trazas.
65+
* Se usa un sólo apostrofe en lugar de un acento grave para iniciar
66+
citas. [[Característica #16495]]
67+
* Presentar el nombre de la clase antes del nombre del método (sólo
68+
cuando la clase tiene un nombre permanente). [[Característica #19117]]
69+
* Los métodos de `Kernel#caller`, `Thread::Backtrace::Location` se
70+
han cambiado análogamente.
71+
72+
```
73+
Antiguo:
74+
test.rb:1:in `foo': undefined method `time' for an instance of Integer
75+
from test.rb:2:in `<main>'
76+
77+
Nuevo:
78+
test.rb:1:in 'Object#foo': undefined method 'time' for an instance of Integer
79+
from test.rb:2:in '<main>'
80+
```
81+
82+
* La presentación de `Hash#inspect` ha cambiado. [[Falla #20433]]
83+
* Las llaves que son símbolos se presentan con la sintaxis moderna
84+
para llaves que son símbolos: `"{user: 1}"`
85+
* Otras llaves ahora tiene espacios alrededor de `=>`:
86+
`'{"user" => 1}'`, mientras que antes no tenían: `'{"user"=>1}'`
87+
88+
## Actualizaciones al API en C
89+
90+
* Se han eliminado `rb_newobj` y `rb_newobj_of` (y los respectivos macros
91+
`RB_NEWOBJ`, `RB_NEWOBJ_OF`, `NEWOBJ`, `NEWOBJ_OF`). [[Característica #20265]]
92+
* Se eliminó la función obsoleta `rb_gc_force_recycle`. [[Característica #18290]]
93+
94+
## Mejoras a la implementación
95+
96+
* `Array#each` se ha reescrito en Ruby para mejorar desempeño
97+
[[Característica #20182]].
98+
99+
## Cambios varios
100+
101+
* Al pasar un bloque a un método que no usa el bloque pasado ahora presentará
102+
una advertencia en modo verboso (`-w`).
103+
[[Característica #15554]]
104+
105+
* Al redefinir algunos métodos fundamentales que son optimizados de manera
106+
especial por el interprete y el JIT como `String.freeze` o `Integer#+`
107+
ahora se emite una advertencia de desempeño
108+
(`-W:performance` o `Warning[:performance] = true`).
109+
[[Característica #20429]]
110+
111+
En la publicación en Github como [Logger](https://github.com/ruby/logger/releases) o en la bitácora de cambios pueden verse detalles de las gemas
112+
predeterminadas y las gemas incluidas.
113+
114+
Ver más detalles en
115+
[NOTICIAS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
116+
o en [la bitácora de contribuciones](https://github.com/ruby/ruby/compare/v3_3_0...{{ release.tag }}).
117+
118+
Con estos cambios, [{{ release.stats.files_changed }} archivos modificados,
119+
{{ release.stats.insertions }} inserciones(+),
120+
{{ release.stats.deletions }} eliminaciones(-)](https://github.com/ruby/ruby/compare/v3_3_0...{{ release.tag }}#file_bucket)
121+
desde Ruby 3.3.0!
122+
123+
124+
## Descargas
125+
126+
* <{{ release.url.gz }}>
127+
128+
SIZE: {{ release.size.gz }}
129+
SHA1: {{ release.sha1.gz }}
130+
SHA256: {{ release.sha256.gz }}
131+
SHA512: {{ release.sha512.gz }}
132+
133+
* <{{ release.url.xz }}>
134+
135+
SIZE: {{ release.size.xz }}
136+
SHA1: {{ release.sha1.xz }}
137+
SHA256: {{ release.sha256.xz }}
138+
SHA512: {{ release.sha512.xz }}
139+
140+
* <{{ release.url.zip }}>
141+
142+
SIZE: {{ release.size.zip }}
143+
SHA1: {{ release.sha1.zip }}
144+
SHA256: {{ release.sha256.zip }}
145+
SHA512: {{ release.sha512.zip }}
146+
147+
## Lo que es Ruby
148+
149+
Ruby fue desarrolladoa primero por Matz (Yukihiro Matsumoto) en 1993,
150+
y ahora es desarrollado como Fuentes Abiertas.
151+
Opera en múltiples platformas y es usado en todo el mundo
152+
especialmente para desarrollo web.
153+
154+
[Característica #13557]: https://bugs.ruby-lang.org/issues/13557
155+
[Característica #15554]: https://bugs.ruby-lang.org/issues/15554
156+
[Característica #16495]: https://bugs.ruby-lang.org/issues/16495
157+
[Característica #18290]: https://bugs.ruby-lang.org/issues/18290
158+
[Característica #18980]: https://bugs.ruby-lang.org/issues/18980
159+
[Varios #18984]: https://bugs.ruby-lang.org/issues/18984
160+
[Característica #19117]: https://bugs.ruby-lang.org/issues/19117
161+
[Falla #19918]: https://bugs.ruby-lang.org/issues/19918
162+
[Falla #20064]: https://bugs.ruby-lang.org/issues/20064
163+
[Característica #20182]: https://bugs.ruby-lang.org/issues/20182
164+
[Característica #20205]: https://bugs.ruby-lang.org/issues/20205
165+
[Falla #20218]: https://bugs.ruby-lang.org/issues/20218
166+
[Característica #20265]: https://bugs.ruby-lang.org/issues/20265
167+
[Característica #20429]: https://bugs.ruby-lang.org/issues/20429
168+
[Característica #20564]: https://bugs.ruby-lang.org/issues/20564
169+
[Falla #20433]: https://bugs.ruby-lang.org/issues/20433

0 commit comments

Comments
 (0)