Programeer opdrachtenOpdracht : opdr2b_ByteWarrior.txt

Terug naar de inzendingen
Opdracht 2b,Ben Branders
19 Jan 2005
 Oefening 2b
 Taal: Ruby
 Mijn oplossing: hier
 
 Ik heb daarnet even proberen opdracht 2b op te lossen. Het is een Ruby-scriptje geworden (eens iets anders).
 
 Ik moet eerlijk toegeven dat ik niet zo'n programmeertalent ben. Alles wat ik geleerd heb, heb ik mezelf aangeleerd. Met als gevolg dat er natuurlijk veel logische denkfouten zullen inzitten. De enige taal die ik ooit kon, was BASIC en dat merk je waarschijnlijk nog wel aan dit scriptje. Dit is dus meer een experimentje (maar ja, al doende leert men).
 1 
****palindroom.rb*****
  
 2#!/usr/local/bin/ruby
 3
 4#
 5# palindroom.rb
 6#
 7#    Auteur: Ben Branders - ben punt branders at skynet punt be
 8#    Datum : 2005-01-19
 9
 10#    Werking:
 11#      Dit Ruby-script leest een zin in, drukt de niet-palindromen achterwaarts af,
 12#      en zorgt ervoor dat de eerste en de laatste letter van een palindroom een 
 13#      hoofdletter is.
 14#
 15#    Aanwijzingen voor gebruik: 
 16#      Zorg voor een werkende Ruby-installatie (http://www.ruby-lang.org)
 17#      Maak het bestand executable (en pas eventueel de shebang aan)
 18#
 19
 20zin = "in deze programmeer opdracht lepel staan naast gewone nepapen woorden ook een paar topspot palindromen meeneem droogoord"
 21
 22woord = zin.split                            # splits de zin op in woorden
 23
 24woord.each { |woord|                         # lees ieder woord uit de array 'woord' in
 25 if woord.downcase == woord.downcase.reverse         # controleer of het een palindroom is (in downcase)
 26  woord = woord.capitalize!                     # zorg voor de beginhoofdletter
 27  woord[woord.length-1, 1] = woord[woord.length-1, 1].upcase! # maakt van de laatste letter ook een hoofdletter
 28  print woord + " "                            # druk het palindroom af met hoofdletters
 29 else
 30  print woord.to_s.reverse! + " "                 # druk het gewone woord achterstevoren af
 31 end
 32}
 33
 34print "\n\n"
 
 
Mijn commentaar
 
 Ben,
 De taal Rubi was mij tot op heden ook nog onbekend.
 Ziet er erg leuk en OOP uit.
 Op de Rubi website word naar de voordelen van PERL, Python en ADA verwezen
 voor de oorsprong van deze taal.
 Je laat ons in een lekker kort programma iets van de grote kracht van Rubi zien.