Os erros de sintaxe em ruby

Rubi tenta ser útil quando alguma parte do seu programa tem um erro de digitação ou faz algo inesperado. Rubi exibe uma mensagem de aviso ou erro, muitas vezes com informações sobre onde ele encontrou o problema em seu código.

Por exemplo, se você acidentalmente cometeu um erro de digitação ao fazer uma matemática simples, Ruby iria dizer-lhe que você tem um erro de sintaxe.

Sintaxe é como gramática em Inglês. sintaxe de uma linguagem de programação é a estrutura, ordem e ortografia de comandos e instruções nesse idioma.

Video: Пишем блог на Ruby on Rails

Se você fizer um erro de ortografia intencional:

2.2.2: 036 >- 3j + 3SyntaxError: (IVB): 36: erro de sintaxe, inesperado tIDENTIFIER, espera de fim-de-input3j + 3 ^ de / usr / bin / IRB: 11: em &apos-<-principal>-&apos-

Você não queria escrever a letra j depois do número 3, e ao contrário do que você pode escrever na escola quando aprender álgebra, esta sintaxe não é válida Ruby.

Rubi exibe uma mensagem de erro que é um pouco enigmática, mas se você ver erro de sintaxe e um número de linha ou localização, dá-lhe um lugar para começar a investigar o que correu mal. Neste caso, Ruby prestativamente exibida a linha incorreta com um símbolo de seta pouco apontando para o ponto em que pensei que estava errado. Obrigado, Ruby!

O que acontece quando você tenta obter Ruby para exibir um googolplex? UMA googol é um termo divertido que significa 10 elevado à potência 100. UMA googolplex 1 é seguido por gugol (10100) zeros. Supostamente, sobrinho de 9 anos de idade, do matemático americano Edward Kasner, Milton Sirotta, cunhou o termo e definiu-o para ser o dígito “um, seguido de escrever zeros até chegar cansado.”

Em Interativo Ruby (IRB), armazenar um googol em uma variável chamada googol:

2.2.2: 030 >- gugol = 10 ** 100 =>- 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Agora tente aumentar 10 por um googol:


2.2.2: 031 >-10 ** googol (IRB): 31: aviso: em um b **, b pode ser muito grande =>- Infinito

Video: How to resolve bundle install rake error - Ruby on Rails

Existem alguns limites para habilidades matemáticas de Ruby. Aqui, Ruby está mostrando-lhe um aviso de que o comando que você acabou de digitar não está funcionando porque parte do cálculo é muito grande. Ela mostra os resultados quanto Infinidade, que parece sobre a direita.

Veja se Ruby pode encontrar um outro problema:

2.2.2: 037 >- x + 5NameError: variável local ou método indefinido &apos-x&apos- para principal: Objectfrom (IVB): 37from / usr / bin / IRB: 11: em &apos-<-principal>-&apos-

Neste caso, você tentou usar uma variável que você não tenha armazenado nada em. O Ruby não sabe o que fazer aqui, porque ele não pode encontrar uma variável chamada X (ainda). Muitas vezes você vê este erro se você cometer um erro de digitação no nome de uma variável (ou método). Verifique a ortografia e tente novamente.

Outro erro comum Ruby pode ser visto com este código:

2.2.2: 038 >- x = nil =&nil2.2.2 GT-: 039 >- x + 5NoMethodError: método indefinido &apos- +&apos- para nil: NilClassfrom (IRB): 39from / usr / bin / IRB: 11: em &apos-<-principal>-&apos-

Você pode pensar em nada como forma de representar Ruby “nada”. O erro Ruby está mostrando significa que ele não sabe como fazer disso com nada, que parece razoável. Em seu código, isso provavelmente significa que você espera para receber os resultados de alguma outra parte do programa, mas o código retornado nada.

Um último problema que você ocasionalmente ver é se você tentar fazer algo com dados incompatíveis:

2.2.2: 040 >- x = "uma"=>- "uma"2.2.2: 041 >- x + 5TypeError: nenhuma conversão implícita de Fixnum em Stringfrom (IVB): 41: em &apos- +&apos-de (IVB): 41from / usr / bin / IRB: 11: em &apos-<-principal>-&apos-

A carta uma é atribuído à variável X. Aqui, porém, você tentou adicionar o número 5 para a letra uma. Claramente isso é um absurdo. Rubi pensa assim, também, e diz-lhe que ele não pode converter os dados em uma maneira de fazê-lo funcionar.

Você provavelmente vai correr em erros de sintaxe a maioria das vezes, porque erros são os erros mais fáceis de fazer. Quando você vê uma mensagem de erro, o melhor curso de ação é para comparar com cuidado o que você digitou com o código do seu projeto.


Publicações relacionadas