Anzeige:
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 39

Thema: Wie programmierst du?

  1. #16
    Registrierter Benutzer
    Registriert seit
    22.11.2007
    Beiträge
    26
    ok,
    Die Schaltjahresrechnung ist nun eingebaut:

    Code:
    if $2 == "01" or $2 == "02" and
    	 (jahr.remainder(400) == 0) or
    	 (jahr.remainder(4) == 0 and not
    	 jahr.remainder(100) == 0)
    	 tag = (jahr + monatsliste [$2].to_i + $1.to_i + (jahreswerte [$3].to_i - 1)) % 7
    	 puts "Der #{date} war ein #{wochentagswerte [tag]} // Schaltjahr!"
    else
    	 tag = (jahr + monatsliste [$2].to_i + $1.to_i + jahreswerte [$3].to_i ) % 7
    	 puts "Der #{date} war ein #{wochentagswerte [tag]} "
    end
    Allerdings klappt die Rechnung immer noch nicht.
    Ich werde einfach mal jedes einzelne Element durchgehen müssen und einzeln berechnen.

    ciao

  2. #17
    Registrierter Benutzer
    Registriert seit
    24.04.2007
    Ort
    Leipzig
    Beiträge
    20
    Hallo Juan,

    Du machst das schon ganz gut . Ich habe zwar gerade nicht so viel Zeit, aber dennoch hier etwas für Deine RegExp Skills und Ruby.

    Ich sehe du machst schon mit objektorientierten RegExp rum , dass heißt, dass Du innerhalb Deines RegExp-Ausdrucks auf einzelne Teil-"Objekte" eingehst.
    Code:
    #zerlegt Datum in Einzelteile : $1(dd), $2(mm), $3(yy) und $4(yy)
    date =~ /(\d+).(\d+).(\d\d)(\d+)/
    Da Du in Deiner Eingabeaufforderung schon nach dem Schema "dd.mm.yyyy" verlangst, dann schöpfe es doch auch explizit aus.

    Code:
    date =~ /(\d\d)\.(\d\d)\.(\d\d)(\d\d)/
    Was ist hier anders?:
    • '\d' adressiert nur ein einziges Zeichen aus 0-9, also zählen wir alle auf.
    • '\.' adressiert genau den Punkt zwischen den Ziffern. Das Zeichen '\' wird benutzt, um das nachfolgende Zeichen von seiner RegExp-Bedeutung zu entheben und es als normales Zeichen zu lesen.
    • '(..)' formt Teilobjekte, wie Du sie schon benutzt hast. In der Ausgabe und Auswertung werden sie dann über $1, $2, $3 usw abgegriffen. Wenn Du den kompletten Ausdruck nehmen willst -> nimm die Summe: $& (sehr intuitiv ). Probiere mal das Beispiel im Anschluss aus und lasse Dich von $`, $', $+ überraschen.

    Code:
    date = "Hallo heute ist der 18.02.2008 und es ziemlich kalt." 
    
    date =~ /(\d\d)\.(\d\d)\.(\d\d)(\d\d)/ 
    
    p $&, $1, $2, $3, $4  
    
    date =~ /(\d\d)\.(\d\d)\.(\d\d\d\d)/ 
    
    p $&, $1, $2, $3, $4  
    
    p $`, $', $+
    Mehr zu RegExp unter:


    Mehr zu Ruby unter:


    Viel Erfolg.
    Und ich finde Ruby ist eine prima Sprache zum Einsteigen. Sie macht einfach Spaß!

    VG Daniel

  3. #18
    Registrierter Benutzer
    Registriert seit
    22.11.2007
    Beiträge
    26
    Hi,
    vielen Dank für dein Feedback!
    Super, dass hier noch Jemand Ruby spricht

    Wenn ich ehrlich bin, sah mein Regexp vorher so aus, aber dann habe ich irgendwo (vllt sogar in der pickaxe?!) diese Schreibweise gesehen und wollte dann Zeichen sparen.


    Danke für die Tipps ($&, $`, $', $+), echt praktisch.
    Ich habe gerade deine Schreibweise mal auf mein Fallbeispiel angewandt, aber leider beim Ergebnis kein Unterschied feststellen können. Die Variablen sind identisch.

    Muss also wirklich ein Rechenfehler sein, habs auch leider noch nicht geschafft, das Skript durch zugehen.

    Adieu

  4. #19
    Registrierter Benutzer
    Registriert seit
    24.04.2007
    Ort
    Leipzig
    Beiträge
    20
    Hey,

    mal ne Frage zu Deinem Algorithmus ..
    Ich weiß Du probierst Dich aus und versuchst Dich an eigenen Beispielen. Deshalb mache ich mir weniger Gedanken darüber, wie Du Deine Aufgabe lösen möchtest, auch weil zu Beginn der Diskussion nicht nur das Programmieren besprochen wurde, sondern auch die Lösungsstrategien. Und es ohne hin mehrere Wege nach Rom gibt.

    Aber falls Du mit dem gewählten Weg nicht gut voran kommst - fühle Dich frei andere Ansätze zu wahlen. Auch/Besonders Programmierer gehen den Weg des geringsten Widerstandes -> Erinnere an geeignete Lösungsstrategien.

    Kleine Anregung, aber keine Aufforderung: Mir scheint Du verfolgst einen Algorithmus, der, wie ich sagen würde, absolut erscheint. Denn er beruht ausschließlich auf dem Eingabedatum. Vielleicht könnte ein rekursiver oder ein expliziter Ansatz leichter sein. Ich verrate mal nicht mehr als Dir einen Link über Zahlenfolgen (Schul-Mathe) zu schicken. Link: http://www.mathematik-wissen.de/zahlenfolgen.htm

    Viel Erfolg
    Daniel

    PS: Wegen der RegExp: Nimm mal Deine "Sparversion" und dann den Vorschlag aus der PickAxe und untersuche diesen String eines wirklich dooooofen Benutzers, mit denen immer gerechnet werden muss.

    Code:
    date = "Hallo heute ist der 23418.02.200834 und es ziemlich kalt." 
    
    date =~ /(\d+)\.(\d\d)\.(\d\d)(\d+)/ 
    p ['gespart:', $&, '=>' ,  $1, $2, $3, $4].join(" ") 
    
    date =~ /(\d\d)\.(\d\d)\.(\d\d)(\d\d)/ 
    p ['pickaxe:', $&, '=>' ,  $1, $2, $3, $4].join(" ") 
    
    date =~ /\s(\d\d)\.(\d\d)\.(\d\d)(\d\d)\s/   # (1)
    p ['genauer:', $&, '=>' ,  $1, $2, $3, $4].join(" ")  # muss leer sein, da nix zu (1) gefunden wurde
    
    date = "Un jetzt ist ein schlauer Benutzer dran .. Der 18.02.2008 war ziemlich kalt." 
    
    date =~ /\s(\d\d)\.(\d\d)\.(\d\d)(\d\d)\s/ 
    p " ", $&, $&.strip , $1, $2, $3, $4
    Probieren geht über studieren. Und warum das so ist - steht sehr schön in http://www.night-ray.com/regex.pdf

  5. #20
    Registrierter Benutzer
    Registriert seit
    24.04.2007
    Ort
    Leipzig
    Beiträge
    20
    Hallo nochmal,

    auch wenn Du nicht darum gebeten hast - hier ein anderer Ansatz (explizit).
    Ich wollte ihn Dir nicht auf's Auge drücken, deshalb die Datei im Anhang. Entscheide selbst.

    Generell gilt beim Programmieren:
    - einfach ist schick!
    -- einfach ist das, was ich auch meiner Nachbarin erklären kann!
    - für die meisten Probleme gibt es einfache Lösungen!
    -- fragt sich bloss, ob die gewählte Programmiersprache einen dabei behindert oder unterstützt => Ich liebe Ruby!
    -- aber bei schweren Problemen hilft mitunter nur eine komplizierte Lösung und dann ist Java, C++ usw. erste Wahl!
    - Das Dilemma: Woher weiß ich, ob ein Problem einfach oder schwer ist?
    -- Je mehr Erfahrung, umso besser weißt Du zu entscheiden.

    Programmieren ist wie Boxen zwischen Mensch und Maschine:
    Doll_Draufhauen_können ist gut, doch gute_Beinarbeit_haben ist besser. <- Verstanden?

    Viel Erfolg
    Daniel
    Geändert von damue (19-02-2008 um 13:10 Uhr)

  6. #21
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von damue Beitrag anzeigen
    Programmieren ist wie Boxen zwischen Mensch und Maschine:
    Doll_Draufhauen_können ist gut,
    Was kann der liebe Monitor dafür, dass dein Computer dich nicht versteht?


    doch gute_Beinarbeit_haben ist besser
    Der arme Tower ist doch auch nicht dran schuld!

    Wie wär's mit ein bisschen Verständnis für die armen Bits und Bytes?
    In Form von Bibliotheken versuchen sie doch, dir alle deine Wünsche zu erfüllen

    SCNR,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  7. #22
    Registrierter Benutzer
    Registriert seit
    22.11.2007
    Beiträge
    26
    Hallo,

    erstmal wieder: vielen Dank fürs Feedback. Bringt mich echt weiter!
    @damue#1:
    Allerdings muss ich sagen, das ich im Moment gar keine Lösungstrategie verfolge (scheint mir zu mindestens so). Und wenn ich so darüber nachdenke, wüsste ich auch so spontan nicht wieso (bei der "Komplexität").
    Hast du den o.g Artikel gelesen? Ich finde, dass einem der Autor das ja schon ganz gut vorkaut. Von wegen "erst Dies berechnen, dann Dass usw ..". Also habe ich einfach erstmal alles mathematische nach Ruby übersetzt. Dann habe ich mir Gedanken darüber gemacht, wie ich das Datum einlesen, bzw auseinander klamüstern könnte, und jetzt schleichen sich die Fehler ein.

    Irgendwie sehe ich gerade auch keinen Grund, es irgendwie anders zu machen, es scheint mir ja irgendwie logisch (siehe Engstirnigkeit im Bezug aufs Programmieren im Ausgangsthread) und außerdem fiele mir auch kein anderer Weg ein.

    Auch/Besonders Programmierer gehen den Weg des geringsten Widerstandes -> Erinnere an geeignete Lösungsstrategien. [...]
    ist das nicht eh die Grundidee hinter Ruby ? "Principle of least surprise“

    Mir scheint Du verfolgst einen Algorithmus, der, wie ich sagen würde, absolut erscheint. Denn er beruht ausschließlich auf dem Eingabedatum. Vielleicht könnte ein rekursiver oder ein expliziter Ansatz leichter sein. Ich verrate mal nicht mehr als Dir einen Link über Zahlenfolgen (Schul-Mathe) zu schicken.
    neeeein, nie im Leben hätte ich nach 13 Jahren Mathe damit gerechnet, dass ich mir freiwillig mal was angucke, hehe
    Danke für den Link, aber wie oben beschrieben, habe ich keine Ahnung, wo mein Algorithmus ansetzt. Dazu habe ich einfach zu wenig Erfahrung, was das Programmieren anbetrifft.

    @damue#2:
    - einfach ist schick!
    -- einfach ist das, was ich auch meiner Nachbarin erklären kann!
    - für die meisten Probleme gibt es einfache Lösungen!
    sehe ich auch so, ich bin faul. Ruby bietet zudem für vieles eine sehr einfache Lösung.
    -- fragt sich bloss, ob die gewählte Programmiersprache einen dabei behindert oder unterstützt => Ich liebe Ruby!
    -- aber bei schweren Problemen hilft mitunter nur eine komplizierte Lösung und dann ist Java, C++ usw. erste Wahl!
    Da ich nur Ruby beherrsche, ist es die richtige Wahl
    - Das Dilemma: Woher weiß ich, ob ein Problem einfach oder schwer ist?
    -- Je mehr Erfahrung, umso besser weißt Du zu entscheiden.
    Exakt. Daher versuche ich soviel wie möglich davon zu sammeln!

    Programmieren ist wie Boxen zwischen Mensch und Maschine:
    Doll_Draufhauen_können ist gut, doch gute_Beinarbeit_haben ist besser. <- Verstanden?
    nein?!


    Also, noch mal: muchas gracias !
    Ich werde mich weiter ransetzte.
    Zu deinen RegExp - Bsp. : oho! Macht also doch was aus

    adieu


    ps: danke für die Mühe, aber ich werde dein Anhang erstmal nicht öffnen. Habe auch die Perllösung noch nicht gelesen.
    Geändert von juan_ (19-02-2008 um 17:35 Uhr)

  8. #23
    Registrierter Benutzer
    Registriert seit
    24.04.2007
    Ort
    Leipzig
    Beiträge
    20


    Hey BlueJay,

    das man es auch so deuten kann - war mir gar nicht klar. Danke für den schönen Lacher.

    Das Thema Bibliotheken habe ich mir verkniffen. juan_ möchte gerne an einfachen Dingen lernen. Mir ist klar, dass es für die vielen kleinen Standardaufgaben auch schon Bibliotheken gibt.

    Aber trotzdem gute Antwort, werde bestimmt nochmal herzlich darüber lachen.

    @juan_: (Boxen)

    Was ich meine ist, dass man sich nicht nur an eine Seite (vielleicht die erstbeste) des Problem stellen und dann von dort darauf los hämmern soll. Manchmal bringt es nichts sich in Seiten zu verbeißen. Also Beinarbeit => Kopfarbeit. Sei beweglich, geh um das Problem herum, schau's Dir von allen Seiten an. Wo gibt es Stellen zum Ansetzen? Das ist Planung. Jeder Handlung in der Informatik sollte eine Planung vorausgehen - im Großen wie im Kleinen. Es ist kein angenehmes Gefühl nach Wochen intensiven Einsatzen zu sehen, dass man in einer Sackgasse steht und alles in die Tonne drücken kann.

    Auch wenn Dir das "Problem" nicht sehr komplex erscheint - so verfolgst Du trotzdem immer eine Lösungstrategie, um es zu lösen. Wie das dann aussieht, ist Dein Bier.

    Zu denken und programmieren gibt es unterhaltsamen dt. Podcast "KontemplativeProgrammierung" => http://www.frankwestphal.de/Tonabneh...ammierung.html

    Also habe ich einfach erstmal alles mathematische nach Ruby übersetzt. Dann habe ich mir Gedanken darüber gemacht
    Lieber anders herum.

    Hast du den o.g Artikel gelesen? Ich finde, dass einem der Autor das ja schon ganz gut vorkaut.
    Ich muss mich glaube ich entschuldigen, nicht jeden Betrag diesen Threads gelesen zu haben. Welchen meinst Du? Oder meinst Du den Mathe-Link?
    Wen es darum geht, erstmal das Prinzip aufnehmen. Da gibt es ein Ergebnis (a_n), dass nicht vom Himmel fällt, sondern sich auf einen Basiswert (a_1) berechnen lässt (<- Explizite Form). Auf Dein Wochentagproblem gemünzt: Wenn Du weißt, welcher Wochentag vor 20 Tagen war, dann bist du doch schnell in der Lage mir den heutigen Wochentag zu nennen. Was passiert in dem Moment in deinem Kopf? Das muss ins Programm! Klingelts?

    Kannst natürlich auch jmd nach dem Wochentag fragen gehen, dass ist dann wie ein Aufruf einer Kalenderbibliothek in einer Programmiersprache.

    Aber ich nehme mich wieder ein wenig zurück - Du machst das schon.

    Eins muss ich aber offen sagen: Informatik ist Infor(mationsmathe)matik. Wenn einem Mathe nicht zufliegt, dann die Informatik schon gar nicht. (Fast 2/3 meiner Mitstudenten hat es allein wegen Mathe und Theoretischer Informatik dahingerafft.) Und ich rede nicht von Mathe Abiturstufe <- Das ist Pillepalle!!!! Aber da jeder erstmal von der Penne auf die Uni kommt, wird alles wiederholt, vertieft und erweitert.

    VG Daniel
    Geändert von damue (19-02-2008 um 18:36 Uhr)

  9. #24
    Registrierter Benutzer
    Registriert seit
    24.04.2007
    Ort
    Leipzig
    Beiträge
    20
    Okay - ich habe den Artikel gefunden.

    http://www.linux-magazin.de/heft_abo...tumsarithmetik

    Ist ja witzig und hat Stil. Ist aber ohne Anleitung kaum verständlich.

    Ich werde den Thread weiter verfolgen und sehen wie's klappt.

    VG Daniel

  10. #25
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    Zitat Zitat von juan_ Beitrag anzeigen
    ...Zur der Jahreserrechnung: Da bin ich auch drüber gestolpert, aber hast du mal den Artikel (bzw den Absatz) gelesen, oder nur die Formel gesehen? ich habe ein bisschen das Gefühl (ich habe jetzt seit ca 10 Monaten kein Mathe mehr gehabt, hrhr), dass sich da ein bisschen was widerspricht. Weil seine Rechnung lässt die Addition vom Jahr weg. Und an dem Punkt stimmt mein Ergebnis noch.
    Ich habe mir eher den Perl-Code angeschaut (den hat M. Schilli i. d. R. getestet, bevor er ihn ans LiMa schickt ;-) - da schaut das exakt so aus wie in der o. a. Formel (Zeile 37 in Listing 1). Texterklärungen sind ja immer sowas wie Textaufgaben in Rechnen (is ja noch kein Mathe ) - alles nach dem Motto "Was will uns der Dichter damit sagen".

    Zum Thema "Jahreswerte" - siehe Tabelle 2 im Artikel.

    Zitat Zitat von juan_ Beitrag anzeigen
    Keine Angst, brauchst kein Ruby lernen, erkläre es mir einfach
    Och, mal so ein wenig da rein schnuppern kommt bei der Gelegenheit ganz gut (ich wollte schon öfters mal erfahren, was an Ruby so toll ist - ich weiss es ehrlich gesagt jetzt auch noch nicht) - hast Du es denn mal mit der geänderten Zeile ausprobiert?

    Um diesen Algorithmus herleiten zu können, muss man IMHO wohl ein bisschen mehr Zeit investieren, ich habe einfach Deinen Ruby-Code mit dem Perl-Code aus dem LiMa verglichen.

    Jan

    P.S.: Mein letzter Mathe-Unterricht ist ca. 25 Jahre her - aber wie gesagt: Das hier ist noch keine Mathematik, das ist einfach nur Rechnen.

    Drohung: Wenn Du bis zum WE keine funktionierende Lösung hast, dann portiere ich das Perl-Script mal in ein richtig "schickes" Ruby-Anfänger-Programm

  11. #26
    Registrierter Benutzer
    Registriert seit
    22.11.2007
    Beiträge
    26
    Morgen!

    damue: achso, so ähnlich habe ich es dann doch verstanden. ich dachte, dass du mit den "_" auf was spez. (evtl rubytechnisches) hinauswolltest

    Klar weiß ich auch, dass Informatik = Mathe ist, aber da ich das hier im Moment noch alles privat und aus Spaß mache, hätte ich halt nicht gedacht, dass ich freiwillig (und ohne Schulzwang) mal Mathe lernen würde!

    In erster Linie will ich mit dieser Programmierlernaktion natürlich mal mein Interesse stillen, aber ich will auch -vorallem im Hinblick aufs Studium, bzw (irgendwann dann mal) den Job - meine Fähigkeiten ausbauen. Damit ich dann nicht im Studium lange rumexperimentieren muss ... halt eine gewisse Routine ins Programmieren bringen.

    Wie gesagt, vielen Dank für deine Unterstützung. Die Verlockung ist allerdings sehr groß, dass ich in deinen Code schaue, weil mir momentan ein bisschen die Zeit fehlt, mir großartig Gedanken zu machen :|

    Jan: ah, OK. Dann hat sich der Autor aber wirklich ein bisschen ungeschickt ausgedrückt, oder hab nur ich das misverstanden? Das Hinzufügen des fehlenden Wertes hat leider auch nichts gebracht. Verglichen habe ich die Unterschiede jedoch noch nicht. Sollte aber nicht auf meiner ToDo - Liste fehlen.

    Zu Ruby kann ich leider nicht viel mehr objektives Sagen, als bei zB Wikipedia steht. Mir macht es einfach unheimlich Spaß. Immer wenn ich auf der Arbeit mal ein Minütchen Ruhe habe, lese ich hier und im Rubyforum mit und freue mich dann immer auf den Feierabend, wenn ich es dann vllt schaffe, ein bisschen was zu programmieren

    Also, ich melde mich, wenn ich die ersten Erfolge erzielt habe. Das Ultimatum werde ich vermutlich nicht einhalten können. Ich bin leider nicht der Mensch, der sich die Nacht damit um die Ohren schlagen kann, vorm PC zu sitzen. Ich habe die doofe Angwohnheit zu schlafen hehe

    Danke für die Unterstützung. Falls euch noch ein log. Fehler in meiner Rechnung auffällt, bitte im um eine kurze Notiz!

    Adieu

  12. #27
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Mir macht es einfach unheimlich Spaß. Immer wenn ich auf der Arbeit mal ein Minütchen Ruhe habe, lese ich hier und im Rubyforum mit und freue mich dann immer auf den Feierabend, wenn ich es dann vllt schaffe, ein bisschen was zu programmieren
    Lass dir versichert sein, dass das schon eines der wichtigsten Punkte für ein Informatikstudium ist - meiner Ansicht nach.
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  13. #28
    Registrierter Benutzer
    Registriert seit
    22.11.2007
    Beiträge
    26
    yeaaaaaaaah. oh man. Ich Idiot!

    Ich hatte einen echt dummen Fehler, gleich in meiner ersten Rechnung!

    Anstatt durch 4 zu dividieren, hab ich duch den Tag (im Bsp eine 4) geteilt.

    ->
    jahr = ($4.to_i + ($4.to_i / 4) ) % 7
    Im Schaltjahr bin ich im Moment zwar immer noch ein Tag im plus, aber das scheint dann nur mein Schaltjahrmechanismus nicht richtig zu greifen.

    muaha, *freu

    @damue: hast du bei deiner Version eine Funktion eingebaut, die sich um die Richtigkeit des Datums kümmert? Weil sowas würd ich auch noch bauen wollen und würds mir nicht unbedingt bei dir abgucken wollen

    Soweit erstmal Adieu, ich melde mich!
    Geändert von juan_ (24-02-2008 um 14:49 Uhr)

  14. #29
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Moin,

    Zitat Zitat von juan_ Beitrag anzeigen
    Ich hatte einen echt dummen Fehler, gleich in meiner ersten Rechnung!

    Anstatt durch 4 zu dividieren, hab ich duch den Tag (im Bsp eine 4) geteilt.
    Wer lesen kann ist klar im Vorteil ;-)

    Zitat Zitat von juan_ Beitrag anzeigen
    @damue: hast du bei deiner Version eine Funktion eingebaut, die sich um die Richtigkeit des Datums kümmert?
    Der bin ich zwar nicht, aber das ist nicht weiter schwer (ich überlasse das Auskodieren in Ruby mal Dir):
    1. Jahr, Monat und Tag dürfen nicht leer sein (dann hat die Regex nix gefunden)
    2. Das Jahr muss zwischen 1700 und 2299 (sonst findest Du keinen Jahreswert in Deinem Array) liegen
    3. Der Monat muss zwischen 1 und 12 liegen
    4. Der Tag muss zwischen 1 und der höchsten Tageszahl des Monats liegen. Dazu baust Du Dir wohl am einfachsten noch ein Array mit diesen Zahlen und addierst für den Februar den Schaltjahreswert (0=kein Schaltjahr oder 1=Schaltjahr).

    Zu Deiner Schaltjahresberechnung: Vielleicht solltest Du da besser mit dem 4-stelligen Jahr (also $3) und nicht mit jahr rechnen ;-). Und vielleicht kommst Du weniger durcheinander, wenn Du die Variablen sprechend bezeichnest (Dein jahr ist nämlich nicht das Jahr, sondern ein daraus berechneter Wert).

    Jan

  15. #30
    Registrierter Benutzer
    Registriert seit
    22.11.2007
    Beiträge
    26
    Hallo

    Zitat Zitat von jan61 Beitrag anzeigen
    Moin,



    Wer lesen kann ist klar im Vorteil ;-)
    jaja, so ist das halt

    Der bin ich zwar nicht, aber das ist nicht weiter schwer (ich überlasse das Auskodieren in Ruby mal Dir):
    1. Jahr, Monat und Tag dürfen nicht leer sein (dann hat die Regex nix gefunden)
    2. Das Jahr muss zwischen 1700 und 2299 (sonst findest Du keinen Jahreswert in Deinem Array) liegen
    3. Der Monat muss zwischen 1 und 12 liegen
    4. Der Tag muss zwischen 1 und der höchsten Tageszahl des Monats liegen. Dazu baust Du Dir wohl am einfachsten noch ein Array mit diesen Zahlen und addierst für den Februar den Schaltjahreswert (0=kein Schaltjahr oder 1=Schaltjahr).
    Mir ging es weniger um die Umsetzung, als die Tatsache, dass ich auf damues Code (siehe irgendein Vorpost) gespannt bin .
    Interessant wäre es, die Kontrolle auch über RegExp zu realisieren, aber soweit bin ich noch nicht. Eine schlichte case-Abfrage (oder verschachtelte if-Abfragen) reichen mir vorerst.

    Zu Deiner Schaltjahresberechnung: Vielleicht solltest Du da besser mit dem 4-stelligen Jahr (also $3) und nicht mit jahr rechnen ;-). Und vielleicht kommst Du weniger durcheinander, wenn Du die Variablen sprechend bezeichnest (Dein jahr ist nämlich nicht das Jahr, sondern ein daraus berechneter Wert).
    Ok, danke für die Hinweise. Dummer Fehler, das kommt davon, wenn man zwischen dem Programmieren immer eine Woche Zeit verstreichen lässt und man dann später nicht mehr aufpasst ;S
    Ich werd sehen, was sich machen lässt!

    Schönen Abend noch!


    //edit:
    jawohl, es lüppt
    muchas gracias.
    Geändert von juan_ (24-02-2008 um 20:54 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •