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 -----
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 -----
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 -----
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