10. Extra libraries
10.1 Hoe kan ik Ruby interactief gebruiken?
Je kan irb
gebruiken. Het volgende komt van Goto
Kentaro (Gotoken), en is oorspronkelijk verschenen in ruby-talk:444.
- Download de nieuwste irb tarball van de contrib directory in het Ruby archive.
- Pak de
irb
directory tree uit. - Voeg de locatie van de
irb/
directory toe aan de $RUBYLIB environment variabele - Maak een symbolic link van $RUBYLIB/irb/irb.rb naar een bestand
genaamd
irb
dat ergens in je path staat. - Voer
chmod +x $RUBYLIB/irb/irb.rb
uit. - Eventueel moet je
rehash
uitvoeren om je login shell over het nieuwe commando te vertellen. - Typ
irb
om de interactieve modus te starten.
Als de readline
module werkt met je interpreter, maakt
dat irb
veel prettiger in het gebruik.
Er is ook een eenvoudig programma, eval
, in de
samples/ directory van de Ruby distributie. Hiermee kan je een
expressies invoeren en hun waarden zien. Kopieer eval
naar
de site_ruby
directory in de Ruby tree, en start het met:
ruby -r eval -e0 |
10.2 Is er een debugger voor Ruby?
Er is een op gdb lijkende debugger voor Ruby.
ruby -r debug your_program |
10.3 Hoe gebruik ik een in C geschreven library in Ruby?
Van alle script talen is Ruby waarschijnlijk het makkelijkst uit te breiden. ER zijn geen problemen met reference counting and variabele types, en je hoeft maar weinig interfaces te leren. Het is zelfs zo dat C code die gebruikt wordt om Ruby uit te breiden vaak verrassend veel op Ruby code lijkt.
Download eerst de Ruby source distributie en lees README.EXT. Dit is een goed document, niet alleen als je een nieuwe library wil schrijven, maar ook als je meer van Ruby wilt begrijpen.
Bekijk daarna de source van de interpreter zelf, en die van de
diverse uitbreidingen in de ext/
directory. Je vindt ook
goede voorbeelden in de contrib/
directories van de Ruby
ftp sites.
10.4 Kan ik een Tcl/Tk interface in Ruby gebruiken?
Er worden twee interfaces naar Tcl/Tk meegeleverd in de stadaard
standard distributie. Een onder ext/tcltk/
die wordt
geladen met require "tcltk"
. De syntax ervan lijkt erg op
die van that Tcl
, zoals die wordt doorgegeven aan de Tcl
interpreter. Helaas is de beschrijving van de library in het japans.
De andere vindt je onder ext/tk/
en die wordt geladen
met require "tk"
. De syntax ervan lijkt meer op die van
de Tk interface zoals die bij Perl and Python is geimplementeerd.
10.5 Tk werkt niet!
Jouw versie van Tk is mischien te oud, probeer een nieuwe versie.
10.6 Kan ik gtk+
of xforms
interfaces gebruiken in Ruby?
Je vind ruby-gtk-x.xx.tar.gz
en ruby-forms-x.x.tar.gz
onder contrib/
op de ftp sites.
10.7 Hoe kan ik met datums rekenen?
Een Time object kan datums bevatten tussen 1 Januari 1970 en 19 januari 2038.
Er worden twee extra libraries mee geleverd: require "date"
,
deze is eenvoudig en gebruikt de engelse kalander, de andere laadt je
met require "date2"
, en is meer algemeen te
gebruiken.
Zie ook sample/cal.rb
.