Avatar billede Slettet bruger
01. august 2005 - 20:50 Der er 2 kommentarer og
1 løsning

Variabler med Rails

Hej derude!

Jeg er lige begyndt på at lege med Ruby On Rails, og det går også meget fint, men jeg tænkte på: hvordan laver man variabler?

Jeg skal nemlig have mine udtræk til at skifte mellem to forskellige farver.

I PHP burde det vel se sådan her ud:
foo = 0;
start_loekke()
  if (foo == 0) {
    udtraek_med_farve1()
    foo+;
  }
  else {
    udtraek_med_farve2()
    foo = 0;
  }
slut_loekke()

Men hvordan skal det ordnes i Rails?
Avatar billede simonvalter Praktikant
02. august 2005 - 09:53 #1
Sproget er ruby.

Her er en klasse "HelloWorld" med en constructor "initalize" som bliver kørt når der bliver lavet en instans af klassen. Det sker i bunden med HelloWorld.new

en metode erklæres med def navn og kaldes på navn

lokale variabler skrives bare med navnet

f.eks foo = 0;

den skal ikke deklereres,initaliseres før brug.
Hvis du skal have instance variabler bruger du @foo
hvis du skal have klasse variabler så bruger du @@foo

loopet kan du lave på mange måder.. det her er bare et der løber fra 0-10

Det er mit første ruby "program" så det kan godt være jeg har gjort det på en anden måde end ruby programmører normalt ville.. syntaxen kan se anderledes ud .. f.eks kan man hvis man vil godt definere metoden med def min_metode() og der er sikkert andre ting som kan se anderledes ud.

Jeg vil foreslå du læser http://www.rubycentral.com/book/

nå men her er klassen

-----------------------------------------

class HelloWorld

def initialize
puts "Hello, world!"
end

def hello
return "bow"
end

def hello2
return "wow"
end

def din_metode
foo = 0
for i in 0..10
    if foo == 0
        puts hello
        foo = 1
    else
        puts hello2
        foo = 0
    end
end
end

end

hw = HelloWorld.new
hw.din_metode


--------------------------------

Hvis du skal sidde og teste lidt og har ruby i commandline kan du komme det i en fil bla.rb og køre det med

ruby bla.rb


ruby er som nogen andre sprog ligeglad med om tekst filens navn er det samme som klasse navnet.
du kan også komme main metoden(den der starter programmet) ind hvor du vil. .. du kan se her den bare er smidt ind i tekst filen uden for klassen.
Avatar billede Slettet bruger
02. august 2005 - 13:00 #2
Tak for det meget beskrivene svar! Jeg forhøjede det lige til 200p =)
Avatar billede simonvalter Praktikant
02. august 2005 - 13:15 #3
Det var så lidt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester