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

Aula Ativa de Javascript/Ruby/RGSS e outras linguagens de programação

Iniciado por Raizen, 22/11/2012 às 13:04

A senha para algo que não faço ideia do que seja: senhade25caracteres
Aula Ativa de Javascript/Ruby/RGSS


[box class=titlebg]
Como funciona o tópico?
[/box]

É bem simples, esse tópico serve para funcionar como um bate-bola, bem mais rápido e simples de perguntar e ser respondido quando a pergunta não é especifico de um script. Pergunte sobre a linguagem Javascript, Ruby, sobre outras linguagens diversas, ou sobre algo do RGSS, caso seja algo da biblioteca(RGSS), indique a engine ou a versão do RGSS que está fazendo a sua pergunta, na dúvida sempre indique a engine que está usando.


[box class=titlebg]
Exemplo de pedido
[/box]

Engine: RMVX Ace
Explicação: Eu não estou conseguindo colocar constantes dentro do módulo, não sei oque estou fazendo de errado.
Código exemplo:
module Rai
constante = 2
end



código para quem quiser usar o template de dúvidas


Engine:
Explicação:
Código exemplo:
[code][/code]

Engine: RMXP
Explicação: Estou usando o chamar script para igualar uma variável a outras duas variáveis subtraidas
Código exemplo:
[$Game_Variables[6] = $Game_Variables[2] - $Game_Variables[4]

mas isso ai está certo xD.
tipo:

Chamar Script:
$game_variables[6] = $game_variables[4] - $game_variables[2]

Opa, estou tentando aprender um pouco de RGSS3 acompanhando as aulas do Khas, porem naaula quatro to tendo um problema que é o seguinte, o script tá assim:
class Teste
  
  def intialize
    @x = 10
    
  end
  
  def comparar
    
    if @x == 10
      p "@x é igual a10"
      
    else
      p "erro"
      
    end    
  end
end

teste = Teste.new
teste.comparar


O problema é que, tá printado "erro", mas é pra printar "@x é igual a10"

Como to começando agora, não entendo oque eu fiz de errado, então vim pedir ajuda. Obrigado.

15/12/2012 às 15:16 #4 Última edição: 15/12/2012 às 15:20 por Danka
Poderia falar qual é o erro?

EDIT: O probelma é que você escreveu "initialize" errado, então a variável @x não é 10, escreva o initialize corretamente, que irá funcionar.
...

Você escreveu

def intialize

falta o i xD.

def initialize

Oh wait, Danka editou a mensagem u__u

15/12/2012 às 15:27 #6 Última edição: 15/12/2012 às 15:29 por dêemi
else
      p "erro"
      
    end   


ta printando "erro", mais era pra printar "erro" apenas se "@x" não fosse igual a 10, mas mesmo sendo igual a 10 ta printando, querai saber se errei em alguma parte do codigo

#edit: é mesmo, obrigado.
nossa velho, eu tentei achar o problema varias veze e nao percebi isso, obrigadao Danka e Raizen

Você errou no "def intialize" se escreve "def initialize".
Escreva o nome do metódo corretamente que vai funcionar.

Ele editou a mensagem. xD
...

Gente bom antes de tudo Boa Noite !

Bom galera eu começei a aprender a linguagem Ruby faz um dia e to com um problema em um script irei postalo e queria saber se você poderia mi ajudar to ficando doico com ele  :aiaiai:

Bom aqui o Script:
class Teste
def q 
end
end

 var = " Variavel Local"
 @var = " Variavel de Classe"
 $var= " Variavel Global"

  def q
  print @var
  print $var
  
end

teste = Teste.new
teste.q


Bom o que eu quero com esse script é basicamente que ele printe na tela as seguintes fazes:
" Variavel Local
Variavel de Classe
Variavel Global"

que são referentes ao (var, @var, $var citados acima no script).
Espero que vocês possam me ajudar to ficando doido com isso !
Desde já agradeço !

Ai meus olhos. Ò_Ó -zoa

Ele está todo errado, primeiro, você poderia ter utilizado o "def q" antes, não precisava "abrir ele novamente". E você abriu ele fora da classe "Teste".
Também errou um sinal ($var= "Variável Global", o certo seria $var = "Variável Global")

Faça isso, crie um metódo onde guarda a informação, e o chame de "initialize" ele é automatico, e é ativado assim que o script é chamado.
E no def q, use o "print (nome da variável)"

Vê se funciona.



...

23/01/2013 às 21:01 #10 Última edição: 23/01/2013 às 21:04 por denisbts
Aaa cara valeu pela ajudinha basica rsrsrs.. mas é qui to nisso faz 1 dia só da um descontinho kkkk

Ai eu fiz como você falou e deu certim :D... vlw pela ajudinha meu irmãosinho s2 kkk zua

Galera da uma ajudinha aqui to com uma duvida... o que tem de errado nesse script de pulo basico.

class Game_Player < Game_Character
    alias xaspim_update update
    def update
    xaspim_update
    if Input.trigger?(:X)#: confirma = C, A=X, S=y, Z=d   
      jump_by_input if passable?(@x, @y, @direction)
      end
    end
  def jump_by_input
    case @direction
    when 2  # Baixo
      jump (0,1)
    when 4  # Esquerda
      jump (-1,0)
    when 6  # Direita
      jump (1,0)
    when 8  # Cima
      jump (0,-1)
    end       
   end 
  end


eu procurei mas não achei :S.. ele da erro na linha 12

Só um erro, não de espaço entre o método e o "(" dos parâmetros.

então jump(1,0) por exemplo.

haha obrigado Raizen, mas me diga uma coisa, por que não pode ter espaço entre o jump e o (,) só uma mini duvida :), mas vlw !

é porque são as regras :P... nem zoa é assim.

O Ruby para simplificar ele, fizeram com que espaço e linhas puladas tivessem significância, então quando você pula uma linha em algumas outras linguagens é obrigatório por exemplo colocar o ; para indicar que pulou, no Ruby não, basta pular a linha, espaço é a mesma coisa, o método tem que estar tudo junto, todas as letras e os parâmetros, basta ver, não da para criar um método tipo..

def esse eh um metodo

eles não podem estar separados, e o () tem que estar junto quando se cria o método, def jump(x, y), então quando eu vou chamar o método ele também tem que estar junto :P, jump(1, 2).