[ruby-de] Funktionen aus Array anwenden

Die Optimisten inform at die-optimisten.net
Sa Jun 10 00:10:01 JST 2017


Hallo

Ich habe verschiedene Methoden(Abläufe) in einem Array
a=["upcase", "upcase.center", "downcase", ...]  oder
b= ...array von procs(/lambdas)...  ## zB: b[1]=lambda {|x| x=x+"neu"; 
x.upcase.center }

Wie kann ich diese (chained!) Methoden / Programme auf einen String 
anwenden?
"abc".send a[1]    # wie geht das (richtig)?
b[1].call ("abc")    # oder in der Art?

Gibts noch andere Möglichkeiten (ohne switch)?


Oder auch mit Parametern:    # x......string
b=[ ..., Proc.new(n,c) { |x,n,c| (x[n].upcase.center(c) }, ...]    # 
beliebige Programme im Array
"abcdef".myfunc(b[1], 2, 30 )    # proc, n    # ich weiß, meine Syntax 
ist nicht Ruby...
oder: b[1].call("abcdef", 2, 30)    # -> " C               "

use case: eigens definierte Operationen(Programme) hinzufügen, ohne den 
Code ändern zu müssen.

danke
Andreas



Mehr Informationen über die Mailingliste ruby-de