|
|||
Forrige < |
Innhold ^
|
Neste >
|
Litt på siden: Den aller nyeste versjonen av Ruby |
For de som bare må ha det aller nyeste og holde seg på den utestede, eksperimentelle fronten av teknologien (slik som oss mens vi skrev denne boka),
så kan man få utviklingsversjoner direkte fra utviklernes felles arbeidsområde.
Utviklerne bak Ruby bruker CVS (Concurrent Version System,
fritt tilgjengelig fra http://www.cvshome.com) for versjonskontroll.
Du kan sjekke ut filer som en anonym bruker fra deres arkiv ved å
kjøre følgende CVS kommandoer:
% cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs
login
(Logging in to anonymous@cvs.netlab.co.jp)
CVS password: guest
% cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs
checkout ruby
Hele kildekodetreet, akkurat i den stand utviklerne sist forlot det,
vil nå bli kopiert til en underkatalog på din maskin kalt ``ruby'',
og oppdaterer ditt lokale kildekodetre fra et lager
på den andre siden av kloden.
Er det ikke en fantastisk tid vi lever i?
|
README
fil, som forklarer innstallasjonsprosessen i stor detalj.
Kort fortalt bygger du Ruby på POSIX-baserte systemer ved å bruke de samme fire kommandoene som for de fleste andre programmer med åpen kildekode:
./configure
, make
, make test
, og make
install
.
Du kan også bygge Ruby i andre omgivelser (inkludert Windows) ved å bruke et miljø som emulerer POSIX, slik som cygwin
[Gå til http://sourceware.cygnus.com/cygwin for
detaljer om cygwin.
]
eller ved å bruke kompilatorer knyttet til den underliggende arkitekturen---ta
en titt på ``ntsetup.bat
''
i win32
katalogen i distribusjonen for å komme i gang.
% ruby puts "Hello, world!" ^D Hello, world! |
puts
, en tekststreng og
et EOF-tegn (EOF står for end-of-file, og var control-D på vårt system).
Dette fungerer, men er håpløst hvis du gjør en feil og
det er vanskelig å se hva som foregår mens du skriver.
I katalogen sample
i Ruby distribusjonen finnes et skript med navn
``eval.rb
''. Det tar oss et steg videre,
og viser oss verdien til hvert uttrykk etterhvert som vi taster dem inn:
% cd sample % ruby eval.rb ruby> a = "Hello, world!" "Hello, world!" ruby> puts a Hello, world! nil ruby> ^D % |
puts
, samt returverdien fra puts
(som er nil
).
Dette er jo kjekt nok, men uttrykk over flere linjer fungerer ikke og du kan ikke endre linjen du er på, eller gå tilbake i historikken og bruke tidligere linjer (slik som du kan i et skall).
Hakket bedre enn eval.rb
, er irb
---Interaktiv Ruby.
irb
er et Ruby skall, fullstendig med historikk over kommandolinjer, muligheter for å endre linjer og jobbkontroll.
Det har så mange konfigurasjonsmuligheter at det har fått et eget vedlegg som starter på side 523.
Vi anbefaler at du gjør deg kjent med
irb
slik at du kan prøve ut noen av eksemplene våre
interaktivt.
% ruby myprog.rb |
#!/usr/bin/env ruby
,
som vil søke i programstien din etter hvor ruby
er, før ruby
kalles.
]
#!/usr/local/bin/ruby -w puts "Hello, World!" |
chmod +x myprog.rb
), kan du i Unix kjøre
filen som et program:
% ./myprog.rb Hello, World! |
Date
modulen.
Guy Decoux og Clemens Hintze svarte tålmodig på våre spørsmål om hvordan skrive utvidelser til Ruby, og Masaki Suketa hjalp oss med å forstå
WinOLE
modulen.
Selv om mye av den opprinnelige Ruby dokumentasjonen er på japansk, er det en stadig voksende mengde engelske oversettelser, hvor mesteparten startes av japanske utviklere med engelskkunnskaper som ikke slutter å overraske oss.
Til tross for at det er for mange individuelle bidrag til å kunne navngi dem alle, vil vi gjerne gjøre oppmerksom på Goto Kentaro, som har produsert et stort volum av dokumentasjon med høy kvalitet og lagt det på nettet.
Helt til slutt må vi takke Yukihiro ``Matz'' Matsumoto, som laget Ruby.
Vi har mistet tellingen over alle de spørsmål vi har sendt ham og de tålmodige og detaljerte svarene han har sendt tilbake.
I tillegg til å lage et virkelig vidunderlig språk, har Matz fostret fram en
utrolig støttende og åpen kultur som språket kan blomstre i.
Takk til dere alle. Domo arigato gozaimasu.
Dave Thomas og Andy Hunt
class SampleCode def run #... end end |
Fred#doIt
en referanse til en instansmetode (doIt
) i klassen Fred
, mens
Fred.new
[
I annen Ruby dokumentasjon vil du muligens komme over klassemetodser skrevet som Fred::new
. Dette er helt lovlig Ruby syntaks; vi føler bare at
Fred.new
er mindre distraherende når man leser.
]
er en klassemetode, og
Fred::EOF
er en konstant i en klasse.
Boken inneholder mange Ruby kodebiter. Hvor det har vært mulig, har vi
forsøkt å vise hva som skjer når de kjøres.
I enkle tilfeller viser vi verdien av uttrykket på samme linje som
uttrykket. For eksempel:
a = 1
|
||
b = 2
|
||
a + b
|
» |
3
|
a = 1
|
» |
1
|
b = 2
|
» |
2
|
a + b
|
» |
3
|
3.times { puts "Hello!" } |
Hello! Hello! Hello! |
ruby [ flags ]* [ progname ] [ arguments ]+ |
$Log: preface.xml,v $ Revision 1.14 2003/01/19 18:34:36 kent Lenke til vedlegg C. Revision 1.13 2003/01/19 14:49:21 kent Lenke inn sidebar og fikse skigard. Revision 1.12 2003/01/19 10:53:23 kent Igjennomgang med fiksing av endel småplukk. Usikker på endel ord deling skal være orddeling eller ord-deling.
Forrige < |
Innhold ^
|
Neste >
|