O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Aulas de Ruby

Iniciado por Sotelie, 24/02/2017 às 02:11

Você pode ter infinitos elementos em arrays (não que alguém vá precisar de tanta coisa, haha)
E sim, você pode alterar qualquer elemento da array assim como altera em uma variável normal. Basta identificar o index dele (a posição do elemento, começando por 0) e começar a fazer as operações que quiser.

Ex: minha_array[0] += 1

Parabéns Alisson, as aulas realmente foram muito boas, consegui fazer altas coisinhas aqui brincando com as variáveis. Coisas que nem pensava em fazer antes de suas aulas.

Já assisti as 7 e aguardo ancioso pela próxima  :wow: :wow: :wow:

Aqui, alguns dos scripts
Aula 2
Spoiler
################################################################
#As primeiras aulas de Ruby serão para testar algumas variáveis#
#executando operadores simples, e ver as igualdades            #
################################################################

num1 = 20 #Aqui eu guardei o valor da variável 1 #
num2 = 5  #Aqui foi salvo  o valor da variável 2 #
num3 = 13
num4 = 30
num5 = 100

string1 = "Acertou mizerave!"                 #As strings armazenarão os textos que     #
string2 = "ERROOOOOWWWWWW!"                   #serão exibidos na janela antes de iniciar#
string3 = "ÉÉÉÉh mais ou menos, mais ou menos"                              #o jogo, propriamente dito                #

if (num1*4)+(num2*4) == num5 && (num5/4) >= num1+5
  p string1
else
  p string2
end
[close]

Aula 4
Spoiler
##################################################################
#----------------------------------------------------------------#
#Aula 4 de Ruby: Casos e Métodos --------------------------------#
##################################################################

string1 = "Um iniciante? Um noob? Não importa, boa sorte no modo fácil"
string2 = "Eu sabia que vc faria isso... você é tão Normal!"
string3 = "Eiita, esse ai ta manjando do jogo, boa sorte Veterano"
string4 = "É um bixão msm heim, jogando no modo Inferno. Espero que manje os paranaue"
string5 = "hm... mal previ seus movimentos! Espero que saiba o que ta fazendo com esse hack ai!"

game_mode = :god

case game_mode

when :easy
  p string1
when :normal
  p string2
when :hard
  p string3
when :prepare_to_die_eddition
  p string4
else
  p string5
end
[close]
Em breve:

05/03/2017 às 22:17 #32 Última edição: 05/03/2017 às 22:21 por Joseph Poe
Muito bem, sr.[user]Alisson[/user]. Passando aqui para te manter motivado com as aulas, porque já comecei o Laboratório de Experimentos do Poe. Comecei com o básico do básico, primeiro testando o que dá e o que não dá pra fazer. Alguns testes são óbvios, mas achei até engraçados haha

Primeira coisa que fiz, e me senti um MogHunter da vida:

Spoiler
[close]

Segunda, os testes óbvios. O do switch foi sacanagem.

Spoiler
[hs width=320 height=240]http://i.imgur.com/8UmMq6U.png[/hs]
[close]

Este aqui é ridículo de tão óbvio, mas tive que postar. Não aguentei  :facepalm:

Não custava tentar hahaha
[hs width=320 height=240]http://i.imgur.com/famjrPU.png[/hs]
[close]

Estou enfiando este comando em todo canto o/

Haha' ótimos testes, Poe xD
E tá aí uma curiosidade pra galera mesmo. Você pode fazer uma variável do editor segurar um texto e fazer switches segurarem números xD

As aulas continuam amanhã :D Nós vamos estar aprendendo sobre as classes e os novos tipos de variáveis.

Aula número 8 lançada! Nela estaremos aprendendo um pouco sobre as classes. o/

Huummm... Finalmente entendi o maldito def initialize que vejo em toda parte. Todas as classes precisam de um desse, certo? Quero dizer, initialize seria um comando, não um nome?

O initialize é um método que sempre é chamado automaticamente quando a classe é criada. Não é obrigatório o uso, mas se você quiser que as coisas sejam executadas automaticamente (no caso de sprites futuramente), é bom usar ele :)
Ele é praticamente o único método padrão das classes.

07/03/2017 às 11:29 #37 Última edição: 07/03/2017 às 11:36 por Raizen
Citação de: Joseph Poe online 07/03/2017 às 07:19
Huummm... Finalmente entendi o maldito def initialize que vejo em toda parte. Todas as classes precisam de um desse, certo? Quero dizer, initialize seria um comando, não um nome?
Se o Alisson permite eu responder xD, não é que é necessário, é que todos já tem esse método.

Assim, no Ruby tudo é objeto, então classe também é um objeto que tem vários métodos já pré-definidos em sua criação, quando você declara uma classe ela já vem com um monte de métodos, faça o teste usando esse que é também um método:

class Obj; end
objet = Obj.new
puts objet.private_methods


E veja o que aparece, "private methods" não são "enxergado" de fora, esse é o mesmo conceito que tem em outras linguagens, o initialize está entre eles.

Então basicamente, quando você declara algo como classe, você cria um objeto que tem todos esses métodos, e no método "new", que você utiliza para instanciar, dentro dele é chamado o initialize, por isso o initialize é usado para colocar tudo que você quer quando instanciar a classe, ou seja, não é que temos que criar ele, ele já existe mesmo sem você modifica-lo, podemos colocar coisas dentro dele ou modificar o que já vem dentro dele.

Edit: Eu já estava escrevendo antes dele mandar, vou mandar outra explicação aqui  :D

Se me permitir
CitarEle é praticamente o único método padrão das classes.
Na verdade tem uns 80~ métodos padrões na classe, mas o initialize é o mais comum de ser modificado por que é o que sempre é chamado em sua instancia.


Ah e parabéns pelas aulas  :wow: , estão muito show!

Opa, permito sim u.u Até me ajuda, haha'

E sobre os outros métodos padrões, é que eles são compartilhados com os métodos do módulo (sendo que toda classe é um módulo), daí creio que o initialize seja o mais indicado, visto que é um método introduzido na própria classe Class, ao invés do módulo (sem contar o initialized? xD)
Btw, é só uma reflexão doida minha, ignore ;-;

Aula número 9 lançada, galera! Podem conferir aqui: https://youtu.be/89hr3vzXGN0
Daqui a pouco estarei adicionando ela no tópico. Apesar dela ter sido bem mais curta que as outras, estou feliz em dizer que faltam exatamente 7 aulas para que possamos terminar o básico.

Opa. Obrigado pelas respostas. Que bom que estamos terminando o básico o/
Já tive ideias pra scripts inúteis, mas que vão servir pra aprender haha

Aula número 10 lançada o/
E é uma boa ideia, Poe :D Ainda tenho um projetinho base aqui que usei quando estava aprendendo. Aquele negócio me traz umas belas lembranças.

As aulas tão vindo rapido. :lol:
To adorando cada aula, to ansioso pra chegar na parte da criação de janelas com comandos.

Entendi agora haha.
De tanto fuçar os scripts base do Ace, vi várias vezes o "Esta classe herda...". Acho que isso poupa um tempinho de digitação.

Aula número 11 lançada. Ela pode ser acessada aqui.
Nela estaremos aprendendo sobre o superman.

Daqui a pouco coloco no tópico principal.

E galera, o que acham dessas setinhas no vídeo? Tá sendo útil ou atrapalha um pouco?

Super seria o que salva quando o programador faz merda? Tipo, reescreve algum valor errado...?
Sobre as setinhas, ficaram legais. Eu, particularmente, prefiro sem porque facilita pra aprender a identificar os códigos sem comentários. Mas ajuda, muito haha