Moinsens

Warum per collect und nicht mit inject oder reject?

def join_filled(list, join_separator = '')
list.inject { |mem, var| mem << var unless var.blank? }.join(join_separator)
end

def join_filled(list, join_separator = '')
        list.reject { |var| !var.blank? }.join(join_separator)
end

(komplett ungetestet)

Gruss,
Tom


On Nov 20, 2007, at 9:54 AM, Michael Kastner wrote:

Hallo,

ich komme hier grad' nicht weiter. Ich möchte für einen Helper in collect eine Bedingung einbauen. Allerdings funktioniert es nicht so, wie ich mir das dachte.

Was ich erzielen möchte ist das(der häßliche Weg):


def join_filled(list, join_separator = '')
 result = []
 list.each do |a|
   result << a unless(a.nil? || a.empty?)
 end
 result.join(join_separator)
end


und was ich gerne hätte, wäre so etwas:


def join_filled(list, join_separator = '')
list.collect{|a| a unless(a.nil? || a.strip.empty?)}.join(join_separator)
end


Letzeres fügt aber das Element a _immer_ hinzu, egal ob die Bedingung erfüllt ist oder nicht.

Hat vielleicht jemand einen Tip?

Viele Grüße

Michael Kastner

--

------------------------------
galt.de Web :-) Services
Michael Kastner
Berliner Straße 3
D-65439 Flörsheim

Telefon +49 (0) 6145 / 938 581
Telefax +49 (0) 6145 / 938 582
E-Mail [EMAIL PROTECTED]
Homepage http://www.galt.de
------------------------------
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an