[Xotcl] psnm - aufgabe 1c

Irene Fellner irene at fellner.at
Thu Nov 7 20:33:19 CET 2002


hallo,

ja das mit dem sortieren ist mir auch aufgefallen, man kanns aber dann auch beim methodenaufruf machen:
lsort[lunique $liste]

bei aufgabe2 (tcl arrays) wurde auch nicht die teil-aufgabe gelöst: geben sie alle worte am bildschirm mit anzahl der vorkommnisse aus.
es ist zwar kein problem, alle worte am bildschirm auszugeben, aber dass dazu auch noch jeweils gezählt wird, wie oft das wort insges. vorkommt, habe ich nicht geschafft.

falls also jemand eine lösung dazu hat, wärs nett, sie hier zu veröffentlichen :-)

grüsse
irene
  ----- Original Message ----- 
  From: Arthur Fleischmann 
  To: xotcl at alice.wu-wien.ac.at 
  Sent: Thursday, November 07, 2002 7:56 PM
  Subject: Re: [Xotcl] psnm - aufgabe 1c


  Hi Irene + alle anderen,

  Mir ist bei diesem Bspl aufgefallen, daß die Liste nicht - wie in der Angabe verlangt - sortiert wird. Man müßte also in der Methode lunique statt return $resultat beispielsweise return [lsort $result] einfügen.

  if $memberArray($elt) {.....} bedeutet wohl, so wie Ferdinand geschrieben hat, wenn die Variable "true" ist (also einen Wert anders als 0 hat)

  Deine Lösung funktioniert auch! 

  ----- Original Message ----- 
    From: Irene Fellner 
    To: xotcl at alice.wu-wien.ac.at 
    Sent: Thursday, November 07, 2002 4:56 PM
    Subject: Re: [Xotcl] psnm - aufgabe 1c


    hi,

    danke für die antwort, die bedingung ist hier also dass $elt true (1 ist), oder?

    ich frage mich nur, ob man die methode lunique nicht viel einfacher lösen könnte mit:
    proc lunique l {
     foreach elt $l {
        set memberArray($elt) 1
    }
    return [array names memberArray]
    }

    sie bringt bei mir auf jeden fall das gleiche ergebnis, und ist kürzer und verständlicher ....

    lg
    irene
      ----- Original Message ----- 
      From: Ferdinand Eckert 
      To: Irene Fellner 
      Sent: Thursday, November 07, 2002 4:42 PM
      Subject: Re: [Xotcl] psnm - aufgabe 1c


      hi, 

      genau weiß ich's leider nicht (hatte leider noch keine zeit zu lernen), aber ich würde folgendes vermuten:

      die bedingung ist der term "$memberArray($elt)"
      nachdem eine bedingung immer "true" oder "false"  (bzw.  0 oder 1 ist !!!) 
      wird hier der wert von memberArray and der stelle $elt abgefragt (und als true/false interpretiert)
      --> ist dieser 0 --> false
      --> ist er != 0 --> true 

      zumindest in C ist es so, wenn ich mich richtig erinnere ;-) 

      lg Ferdinand


      Irene Fellner wrote:

        hallo,

        bin grad am üben für den test nächste woche :-)
        die lösung von aufgabe 1c (liste - jedes wort nur einmal) versteh ich nicht ganz.
        dh insbesondere folgenden teil der methode lunique:
        foreach elt $l {
        if $memberArray($elt) {
        lappend result $elt
        set memberArray($elt) 0
        }

        ganz konkret kapier ich die if-methode nicht - hier fehlt doch die bedingung oder??
        vielleicht kennt sich ja jemand aus, und kann mir es erklären ...

        danke,
        lg
        irene


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://alice.wu-wien.ac.at/pipermail/xotcl/attachments/20021107/8f4a2b52/attachment.html


More information about the Xotcl mailing list