[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