[ruby-de] array - delete

Robert Klemme shortcutter at googlemail.com
Mi Mai 31 01:24:10 JST 2017


Ich hatte mal wieder nicht an die Liste geantwortet... :-(

2017-05-30 16:05 GMT+02:00 Die Optimisten <inform at die-optimisten.net>:
> On 2017-05-30 15:33, sto.mar at web.de wrote:
>>
>> Am 30.05.2017 um 12:07 schrieb Die Optimisten:
>>>
>>> Nein, kein Troll.
>>
>> Davon bin ich noch nicht ganz überzeugt. Du neigst dazu, unklare
>> Fragen zu stellen und damit Diskussionen darüber auszulösen, was
>> du eigentlich gemeint haben könntest, hältst es aber oft nicht
>> für nötig, diese Unklarheiten zu beseitigen.
>>
>>> ok habe vergessen |v| in |key| umzubenennen - bei mir ist es v, denn key
>>> ist schon vergeben.
>>
>> Tipp: vor dem Abschicken in eine irb-Session kopieren und testen.
>>
>>> Sonst sehe ich keinen Fehler, auch keinen Syntaxfehler.
>>
>> (Ich habe den NameError gemeint.)
>>
>> Aber selbst wenn man darüber hinweg sieht, müsste man erst noch
>> überlegen, wie keys und erg sinnvoll definiert werden müssten
>> (Array? Hash? welche und wieviele Elemente, ...?), damit dein
>> "Beispielcode" überhaupt sinnvoll läuft.
>> Und wenn ich erst mal 10 Minuten lang ein sinnvolles Beispiel
>> zusammenbasteln muss, dann habe ich oft keine Zeit mehr
>> (vielleicht auch keine Lust) die eigentliche Frage zu beantworten.

Genau, siehe http://sscce.org/

> Hallo,
>>>Wie ich sehe, funktioniert das Löschen nicht 100% (manche bleiben über):
>>> keys.map{|key| erg[key].each {|l| if  l[1] == l[2] and l[2]==nil then
>>> erg[key].delete l end }}
>
> => Es ist egal (meine Ansicht, bitte gerne widerlegen), wie keys oder erg
> definiert sind, oder wieviele Elemente sie enthalten.

Die Anzahl vielleicht, welche Typen im Spiel sind nicht.

> Das Problem ist wohl das Ändern im Hash/Array. (danke Martin),
> dennoch würde mich interessieren, unter welchen Umständen kann man
> bestehende Elemente ändern (oder löschen), muß man dabei immer mit Müll
> rechnen? (es läuft hier ja nichts parallel ab).

Doch, in gewisser Weise schon, weil Du eine Datenstruktur änderst,
währen Du darüber navigierst.

> Das Subject ist doch ok - wie hätt ichs sonst benennen sollen?

Du hättest z.B. erwähnen können, dass Du aus einer Collection
(welcher?) löschen möchtest, während Du darüber iterierst.

Ciao

robert


-- 
[guy, jim, charlie].each {|him| remember.him do |as, often| as.you_can
- without end}
http://blog.rubybestpractices.com/


Mehr Informationen über die Mailingliste ruby-de