Ämne: Ruby on Rails
Visa ett inlägg
Oläst 2007-04-10, 16:48 #14
antealin antealin är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2005
Inlägg: 3
antealin antealin är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2005
Inlägg: 3
Citat:
Ursprungligen postat av grazzy
Citat:
Originally posted by -eliasson@Mar 30 2007, 06:50
Citat:
Ursprungligen postat av Jawn
Någon som har provat det?
har hört att det är ungefär 5 x snabbare o programmera i än PHP.
Jag har bara hört posetiva saker om RoR men när jag ser på syntaxen så kräks jag nästan men jag får säga att det verkar vara otroligt smidigt och man skriver generellt mindre kod vad jag läst på exempel, t ex:
PHP
Kod:
for i = 0; i 3; i++ { // Do this }
RoR
Kod:
3.times { // Do this }

Dåligt exempel? Det finns ju massa dold funktionalitet i php-loopen som kanske eller kanske inte finns i RoR-koden? Tex så kan du själv påverka pekaren i phpkoden, du kan iterera med i som index (kan du troligen i ror också, men det är inte lika tydligt). Etc etc.
Vill inte ge mig in i en bättre / sämre diskussion men det där var ett konstigt exempel då for-loopar är en mycket grundläggande funktion i alla programmeringsspråk just pga dess egenskap. Det du jämför med känns mest som en do-loop.
Antar att jag får bassning för detta nu från nån ruby-guru
Vill bara säga att det är minst lika tydligt att iterera med ett index i Ruby:

Kod:
3.times {|i| puts i } # skriver ut i 3 gånger
Kod:
5.upto(50) {|i| puts i } # Skriver ut alla tal mellan 5 och 50
Kod:
(5..50).each {|i| puts i } # Skriver ut alla tal mellan 5 och 50
Eller om vi har en array:

Kod:
arrayen = ["foo", "bar", "baz"]
arrayen.each_with_index do |value,i|
 puts "#{i}:\t#{value}"
end
Och så här ser PHP-versionen ut:
Kod:
$arrayen = array("foo", "bar", "baz");
for($i=0; $i < count($arrayen); $i++)
 echo $i . ":\t" . $arrayen[$i] . "\n";
Det tar ett tag att vänja sig vid Rubys syntax, men när man väl lärt sig den är den underbar. Man kan koncentrera sig på vad man ska göra istället för att skriva en massa kod som man inte borde behöva skriva. Det är skönt
antealin är inte uppkopplad   Svara med citatSvara med citat