The Object-Oriented Programming Language RubyDe Nederlandse Ruby Homepage




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.

  1. Download de nieuwste irb tarball van de contrib directory in het Ruby archive.
  2. Pak de irb directory tree uit.
  3. Voeg de locatie van de irb/ directory toe aan de $RUBYLIB environment variabele
  4. Maak een symbolic link van $RUBYLIB/irb/irb.rb naar een bestand genaamd irb dat ergens in je path staat.
  5. Voer chmod +x $RUBYLIB/irb/irb.rb uit.
  6. Eventueel moet je rehash uitvoeren om je login shell over het nieuwe commando te vertellen.
  7. 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.