View · Search · Index
No registered users in community xowiki
in last 10 minutes

Re: [Xotcl] psnm - aufgabe 1c

From: Arthur Fleischmann <arthur.fleischmann_at_chello.at>
Date: Thu, 7 Nov 2002 19:56:01 +0100

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