Ruby

Tela Software:
Ruby
Detalhes de Software:
Versão: 2.5.1 Atualizado
Data de upload: 17 Aug 18
Revelador: Ruby team
Licença: Livre
Popularidade: 73

Rating: 3.7/5 (Total Votes: 3)

Ruby é um software de linha de comando multiplataforma, distribuído livremente, rico em recursos e de código aberto que foi projetado desde o início para fornecer uma poderosa linguagem de programação para desenvolvedores que desejam criar aplicativos em Ruby .


Recursos, muitos recursos

Os principais recursos incluem uma sintaxe simples inspirada em Ada e Eiffel, threading independente do sistema operacional, recursos de manipulação de exceções para manipular erros, vários operadores, uma linguagem orientada a objetos pura e completa, bem como suporte para adicionar métodos a uma classe. / p>

Além disso, o Ruby apresenta apenas uma única herança, closures reais, blocos em sua sintaxe, um verdadeiro coletor de lixo mark-and-sweep, suporte para escrever extensões C, inteiros, suporte para carregar bibliotecas de extensão dinamicamente e não faz isso. precisa de declarações de variáveis.


Começando com o Ruby

Instalar a linguagem de programação Ruby em um sistema operacional GNU / Linux é uma tarefa muito fácil, já que o pacote está disponível para download em todas as principais distribuições, diretamente de seus principais repositórios de software. Use o aplicativo integrado do Software Center para instalá-lo.

Como alternativa, a última versão pode ser instalada usando o pacote fonte, que é distribuído gratuitamente no Softoware. Basta baixá-lo e salvá-lo em seu diretório pessoal, extrair o arquivo e navegar até o local dos arquivos de arquivo extraídos em um aplicativo de emulador de terminal (por exemplo, cd / home / softwar / system2.2.0).

Execute o & lsquo; ./ configure & rsquo; comando para configurar o projeto (você pode usar o comando & lsquo; ./configure --help & rsquo; para visualizar as opções disponíveis para otimizar o Ruby para uma arquitetura de hardware específica). Em seguida, execute o & lsquo; make & rsquo; comando para compilá-lo e o & lsquo; sudo make install & rsquo; comando para instalá-lo.


Suportado no GNU / Linux, Windows, Mac OS X, BeOS e OS / 2

O Ruby é um software multi-plataforma que pode ser usado com sucesso em todas as distribuições GNU / Linux, bem como em qualquer sistema operacional semelhante ao UNIX, incluindo Mac OS X, BeOS, OS / 2 e Microsoft Windows. É compatível com plataformas de computadores de 32 e 64 bits.

O que há de novo nesta versão:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.5.0:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.4.2:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.4.1:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.4.0:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.3.3:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.3.1:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.3.0:

  • Um Pragma Literal de Cordas Congeladas é introduzido. Com o Ruby 2.1, o "str" ​​.freeze foi otimizado para reduzir a alocação de objetos. O Ruby 2.3 introduz um novo comentário mágico e uma opção de linha de comando para congelar todos os literais de string nos arquivos de origem. Além disso, para depuração, você pode obter o local onde o objeto é criado em & quot; não é possível modificar a sequência congelada & quot; erro por --debug = opção de linha de comando frozen-string-literal.
  • Um operador de navegação segura (chamado operador solitário) &., que já existe em C #, Groovy e Swift, é introduzido para facilitar o manuseio zero como obj & .foo. Array # dig e Hash # dig também são adicionados. Note que isso se comporta como tente! do Active Support, que lidam especialmente com apenas nil.
  • A gem did_you_mean é empacotada. O did_you_mean gem mostra os candidatos no NameError e NoMethodError para facilitar a depuração.
  • RubyVM :: InstructionSequence # to_binary e .load_from_binary são introduzidos como recurso experimental. Com esses recursos, podemos criar um sistema de pré-compilação ISeq (bytecode).
  • Inclui também muitas melhorias de desempenho, por exemplo, reconsiderar estrutura de dados de entrada de método, introdução de nova estrutura de dados de tabela, otimização de chamada Proc #, ajuste de nível de código de máquina para alocação de objeto e código de chamada de método, estrutura de dados de variável de instância mais inteligente Soquete e E / S permitem usar & quot; exceção: & quot; palavras-chave para E / S sem bloqueio de alto desempenho e assim por diante.

O que há de novo na versão 2.2.3:

  • Esta versão inclui a correção de segurança para um domínio RubyGems vulnerabilidade de verificação de nome. CVE-2015-3900 Solicitar vulnerabilidade de seqüestro no RubyGems 2.4.6 e anteriores

O que há de novo na versão 2.2.2:

  • Esta versão inclui a correção de segurança para uma extensão do OpenSSL vulnerabilidade de verificação do nome do host.

O que há de novo na versão 2.2.0:

  • VM (cache de método)
  • RGenGC (Veja a apresentação do RubyKaigi do ko1 e a apresentação do RubyConf 2013)
  • refinamentos # 8481 # 8571

  • Alterações de sintaxe
  • :
  • Decimal / Complexo Literal # 8430

  • valor de retorno de
  • def # 3753
  • Bignum:
  • use o GMP # 8796
  • String # scrub # 8414
  • Socket.getifaddrs # 8368
  • RDoc 4.1.0 e RubyGems 2.2.0
  • & quot; literal & quot; .freeze agora está otimizado # 9042
  • add Exceção # causa # 8257
  • atualize bibliotecas como BigDecimal, JSON, NKF, Rake, RubyGems e RDoc
  • remover maldições # 8584

O que há de novo na versão 2.0.0-p0:

  • Recursos principais da linguagem:
  • Argumentos de palavras-chave, que dão flexibilidade ao design da API
  • Módulo # prepend, que é uma nova maneira de estender uma classe
  • Um literal% i, que cria facilmente uma matriz de símbolos
  • __ dir__, que retorna o dirname do arquivo sendo executado no momento
  • A codificação padrão UTF-8, que faz muitos comentários mágicos omissíveis
  • Bibliotecas incorporadas:
  • Enumerable # preguiçoso e Enumerator :: Preguiçoso, para (possivelmente infinito) fluxo lento
  • Enumerador # size e Range # size, para avaliação de tamanho lento
  • #to_h, que é uma nova convenção para conversão em hash
  • Onigmo, que é um novo mecanismo de regexp (um fork do Oniguruma)
  • API de tratamento de exceções assíncronas
  • Suporte de depuração:
  • Suporte do DTrace, que permite diagnóstico em tempo de execução na produção
  • TracePoint, que é uma API de rastreamento aprimorada
  • Melhorias no desempenho:
  • Otimização de GC por marcação de bitmap
  • O kernel # requer otimização, o que torna a inicialização do Rails muito rápida
  • Otimização de VM, como envio de método
  • Otimização da operação de flutuação

O que há de novo na versão 1.9.3-p392:

  • Esta versão inclui correções de segurança sobre JSON e REXML incluídos:
  • Vulnerabilidade de criação de objeto inseguro e de serviço em JSON (CVE-2013-0269)
  • Vulnerabilidade DoS de expansão de entidade em REXML (bomba XML)
  • E algumas pequenas correções de bugs também estão incluídas.

O que há de novo na versão 1.9.3-p385:

  • Esta versão inclui uma correção de segurança sobre o pacote RDoc.

O que há de novo na versão 1.9.3-p384:

  • Esta versão inclui uma correção de segurança sobre o pacote RDoc.

O que há de novo na versão 1.9.3-p286:

  • vulnerabilidade de escape $ SAFE sobre a exceção # to_s / NameError # to_s (CVE-2012-4464, CVE-2012-4466)
  • Criação de arquivo não intencional causada pela inserção de um caractere NUL ilegal
  • outras muitas correções de bugs.

Programas semelhantes

Comentário para Ruby

Comentários não encontrado
Adicionar comentário
Ligue imagens!