2016-07-30 12 views
3

Wenn man eine Tk-GUI in Ruby erstellen und mehrere Kontrollkästchen mit verschiedenen globalen Variablennamen erstellen würde. Was wäre der effizienteste Weg?Gibt es ein global_variable_set für Ruby?

Ich fand die instance_variable_set, aber da dies nicht zu meinem Szenario passen würde. Ich fragte mich, ob es so etwas wie ein global_variable_set gab.

Eg.

info = [orange,apple,banana,grape,watermelon] 
$var = TkVariable.New 
info.each_with_index {|inf,index| 
    TkCheckButton.new(frame1) do 
    text "#{inf}" 
    onvalue "#{inf}" 
    variable global_variable_set("$var#{index}", inf) 
    end 
end 
+0

['Modul # const_set'] (http://ruby-doc.org/core-2.3.0/Module.html#method-i-const_set)? –

+0

Warum möchten Sie das tun? Welches Problem versuchen Sie zu lösen, das Sie mit, sagen wir, einem Hash nicht lösen könnten? –

Antwort

0

Nun, ich habe das nicht getestet. Aber ich nehme an, das Ihnen eine Hilfe sein würde:

Per dieser documentation

ein Verfahren in lib/quality_extensions/global_variable_set.rb

definiert scheint

Bitte beachten Sie, dass diese Dokumentation für die quality extensions gem ist, die nicht ist, integrierte in (Danke Jordon)

global_variable_set(var, value, options = {}) ⇒ Object 

Legt den globa l variable var, die entweder ein Symbol oder eine aktuelle globale Variable sein kann (verwenden Sie :match_object).

global_variable_set(:$a, 'new') 
global_variable_set($a, 'new', :match_object => true) 
global_variable_set(:$a, "StringIO.new", :eval_string => true) 

hoffe, das hilft?

+1

Oh ich sehe. Danke Mann, schätze es, danke für deine Hilfe. –

+1

Die verknüpfte Dokumentation bezieht sich auf das Juwel "quality_extensions". Es ist nicht eingebaut. –

Verwandte Themen