O que significa esse símbolo mesmo?

4 Respostas   246 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Nunnu

  • *
  • Posts: 39
  • Ouros: 2
  • cala boca
Tópico criado em: 03/09/2016 às 21:42 - Última modificação por Skyloftian em 04/09/2016 às 00:01

Olá, vou direto ao ponto, o que significa isso: "||" (sem aspas). Eu vi muito isso mas não sei o que é exatamente, exemplo de linha onde encontrei:
Código: [Selecionar]
  def each
    @data.each {|follower| yield follower } if block_given?
  end

Poderiam me explicar? Grato pela atenção.
Feito por:   King Gerar          ManecBR3
                   
                   (um gato)            (outro gato)

Geraldo de Rívia

  • Mito
  • *
  • Posts: 4452
  • Ouros: 3887
  • O vento está sibilando.
  • Medalhas Vencedor do Protótipo Premiado Participantes do Maps Together 2
Resposta 1: 03/09/2016 às 21:55

Então, ele assim, com os dois tracinhos juntos, geralmente dentro de uma condição, significa ou. Tipo:

if Input.trigger?(:UP) || Input.trigger?(:DOWN)
if Input.trigger?(:UP) ou Input.trigger?(:DOWN)

Agora, se os tracinhos estiverem separados como no exemplo que citou, aí não sei o significado ou aplicação não.

Resque

Resposta 2: 03/09/2016 às 22:06 - Última modificação por Resque em 03/09/2016 às 22:14

No exemplo citado, se refere a um bloco. Blocos geralmente são usados em loops como neste caso, onde você precisa fazer algo com os itens de uma estrutura de dados (Array). O que está dentro do "ll" é uma variavel local com o valor de cada item  do seu array.

Syureri

Resposta 3: 03/09/2016 às 22:13 - Última modificação por Alisson em 03/09/2016 às 22:16

Isso é uma encurtação do loop each

Vejamos o loop for

 
array = ["Gerar is Great", "Kiba must appear"]
 for frases in array
   p frases
 end

Ele irá transformar cada elemento da variável array na variável frases e irá executar o "p frases" para cada elemento na array.

Agora vejamos o loop each

 
array.each do |frases|
    p frases
  end
 
Funciona praticamente do mesmo jeito que o "for", embora o each tenha outras funcionalidades.

Para encurtar o "each", nós fazemos isso: array.each {|frases| p frases }

Simplesmente isso.

Já o || juntinho significa ou, como o Gerar disse. E também é exatamente como o Resque disse.

Nunnu

  • *
  • Posts: 39
  • Ouros: 2
  • cala boca
Resposta 4: 03/09/2016 às 23:22

Gente, muito obrigado pelas respostas, entendi agora.

Valeu!
Feito por:   King Gerar          ManecBR3
                   
                   (um gato)            (outro gato)