Ruby

Software captura de pantalla:
Ruby
Detalles de software:
Versión: 2.5.1 Actualizado
Fecha de carga: 17 Aug 18
Promotor: Ruby team
Licencia: Libre
Popularidad: 73

Rating: 3.7/5 (Total Votes: 3)

Ruby es un software multiplataforma distribuido libremente, rico en funciones y de código abierto que se ha diseñado desde cero para proporcionar un potente lenguaje de programación para desarrolladores que desean crear aplicaciones en Ruby. .


Características, muchas características

Las características clave incluyen una sintaxis simple inspirada en Ada y Eiffel, enrutamiento independiente del sistema operativo, capacidades de manejo de excepciones para manejar errores, numerosos operadores, un lenguaje orientado a objetos puro y completo, así como soporte para agregar métodos a una clase. / p>

Además, Ruby presenta solo una herencia única, cierres verdaderos, bloques en su sintaxis, un recolector de basura verdaderamente marcado y barrido, soporte para escribir extensiones de C, enteros, soporte para cargar bibliotecas de extensión dinámicamente, y no lo hace y rsquo; t necesita declaraciones variables.


Comenzando con Ruby

Instalar el lenguaje de programación Ruby en un sistema operativo GNU / Linux es una tarea muy fácil, ya que el paquete está disponible para descargar en todas las distribuciones principales, directamente desde sus repositorios principales de software. Use la aplicación incorporada de Centro de Software para instalarlo.

Como alternativa, la última versión se puede instalar utilizando el paquete fuente, que se distribuye de forma gratuita en Softoware. Simplemente descárguelo y guárdelo en su directorio de inicio, extraiga el archivo y navegue a la ubicación de los archivos de archivo extraídos en una aplicación de emulador de terminal (por ejemplo, cd /home/softoware/ruby-2.2.0).

Ejecuta & lsquo; ./ configure & rsquo; comando para configurar el proyecto (puede usar el comando & lsquo; ./ configure --help & rsquo; para ver las opciones disponibles para optimizar Ruby para una arquitectura de hardware específica). Luego, ejecuta el & lsquo; make & rsquo; comando para compilarlo y el & lsquo; sudo make install & rsquo; comando para instalarlo.


Compatible con GNU / Linux, Windows, Mac OS X, BeOS y OS / 2

Ruby es un software multiplataforma que se puede utilizar con éxito en todas las distribuciones de GNU / Linux, así como en cualquier sistema operativo similar a UNIX, incluidos Mac OS X, BeOS, OS / 2 y Microsoft Windows. Es compatible con plataformas informáticas de 32 bits y de 64 bits.

Qué hay de nuevo en esta versión:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.5.0:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.4.2:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.4.1:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.4.0:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.3.3:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.3.1:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.3.0:

  • Se introduce un Pragma Literal de Cadena Helada. Con Ruby 2.1, & quot; str & quot; .freeze se ha optimizado para reducir la asignación de objetos. Ruby 2.3 introduce una nueva opción de comentario mágico y línea de comando para congelar todos los literales de cadena en los archivos fuente. Además, para la depuración, puede obtener el lugar donde se creó el objeto en & quot; no se puede modificar la cadena inmovilizada & quot; error por --debug = frozen-string-literal opción de línea de comando.
  • Un operador de navegación seguro (llamado operador solitario) &., que ya existe en C #, Groovy y Swift, se presenta para facilitar el manejo nulo como obj & .foo. Array # dig y Hash # dig también se agregan. Tenga en cuenta que esto se comporta como prueba! de soporte activo, que manejan especialmente solo nil.
  • La joya did_you_mean está incluida. La gema did_you_mean muestra los candidatos en NameError y NoMethodError para facilitar la depuración.
  • RubyVM :: InstructionSequence # to_binary y .load_from_binary se introducen como característica experimental. Con estas características, podemos crear un sistema de precompilación ISeq (bytecode).
  • También incluye muchas mejoras de rendimiento, reconsiderar la estructura de datos de entrada de método, introducir nueva estructura de datos de tabla, optimizar la llamada de Proc #, ajuste de nivel de código de máquina para asignación de objeto y código de llamada de método, estructura de datos variable de instancia más inteligente, Socket y E / S permiten usar & quot; excepción: & quot; palabras clave para E / S sin bloqueo de alto rendimiento, etc.

Qué hay de nuevo en la versión 2.2.3:

  • Esta versión incluye la solución de seguridad para un dominio de RubyGems vulnerabilidad de verificación de nombre CVE-2015-3900: vulnerabilidad de secuestro de robo en RubyGems 2.4.6 y versiones anteriores

Novedades en la versión 2.2.2:

  • Esta versión incluye la corrección de seguridad para una extensión de OpenSSL vulnerabilidad de verificación de nombre de host.

Qué hay de nuevo en la versión 2.2.0:

  • VM (caché de método)
  • RGenGC (Vea la presentación de RubyKaigi de ko1 y la presentación de RubyConf 2013)
  • refinamientos # 8481 # 8571
  • cambios de sintaxis:
  • Literal / Complementario Literal # 8430
  • valor de retorno de def # 3753
  • Bignum:
  • use GMP # 8796
  • String # scrub # 8414
  • Socket.getifaddrs # 8368
  • RDoc 4.1.0 y RubyGems 2.2.0
  • & quot; literal & quot; .freeze ahora está optimizado # 9042
  • agregue Excepción # causa # 8257
  • bibliotecas de actualización como BigDecimal, JSON, NKF, Rake, RubyGems y RDoc
  • eliminar maldiciones # 8584

Qué hay de nuevo en la versión 2.0.0-p0:

  • Características principales del lenguaje:
  • Argumentos de palabras clave, que dan flexibilidad al diseño de API
  • Module prepend, que es una nueva forma de extender una clase
  • Un literal% i, que crea una matriz de símbolos fácilmente
  • __ dir__, que devuelve el nombre de directorio del archivo que se está ejecutando actualmente
  • La codificación predeterminada UTF-8, que hace que muchos comentarios mágicos sean omisos
  • Bibliotecas incorporadas:
  • Enumerable # lazy y Enumerator :: Lazy, para la transmisión lenta (posiblemente infinita)
  • Tamaño de enumerador # y tamaño de rango #, para la evaluación de tamaño diferido
  • #to_h, que es una nueva convención para la conversión a Hash
  • Onigmo, que es un nuevo motor de expresiones regulares (un tenedor de Oniguruma)
  • API de manejo de excepciones asíncronas
  • Compatibilidad con depuración:
  • Soporte de DTrace, que permite el diagnóstico en tiempo de ejecución en producción
  • TracePoint, que es una API de seguimiento mejorada
  • Mejoras de rendimiento:
  • Optimización de GC mediante marcado de mapa de bits
  • Kernel # requiere optimización, lo que hace que el inicio de Rails sea muy rápido
  • Optimización de VM como el envío de métodos
  • Optimización de la operación flotante

Qué hay de nuevo en la versión 1.9.3-p392:

  • Esta versión incluye correcciones de seguridad sobre JSON y REXML incluidos:
  • Vulnerabilidad de denegación de servicio y creación de objetos inseguros en JSON (CVE-2013-0269)
  • Vulnerabilidad DoS de expansión de entidad en REXML (bomba XML)
  • Y algunas pequeñas correcciones de errores también están incluidas.

Novedades en la versión 1.9.3-p385:

  • Esta versión incluye una corrección de seguridad sobre paquetes RDoc.

¿Qué es nuevo en la versión 1.9.3-P384:

  • Esta versión incluye una revisión de seguridad sobre el paquete RDoc.

¿Qué hay de nuevo en la versión 1.9.3-P286:

  • $ SAFE escapar vulnerabilidad acerca de excepción # to_s / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
  • Creación involuntaria de archivos causada por la inserción de un carácter NUL ilegal
  • otras muchas correcciones de errores.

Programas parecidos

J
J

20 Feb 15

R
R

17 Feb 15

bin86
bin86

3 Jun 15

Trad4
Trad4

11 May 15

Comentarios a la Ruby

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!