Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
# File tk/lib/tk/optiondb.rb, line 24 def add(pat, value, pri=None) # if $SAFE >= 4 # fail SecurityError, "can't call 'TkOptionDB.add' at $SAFE >= 4" # end tk_call('option', 'add', pat, value, pri) end
# File tk/lib/tk/optiondb.rb, line 30 def clear # if $SAFE >= 4 # fail SecurityError, "can't call 'TkOptionDB.crear' at $SAFE >= 4" # end tk_call_without_enc('option', 'clear') end
# File tk/lib/tk/optiondb.rb, line 359 def eval_under_random_base(parent = nil, &b) new_klass = __create_new_class(__get_random_basename(), [], 4, false, parent) ret = new_klass.class_eval(&b) if block_given? __remove_methods_of_proc_class(new_klass) new_klass.freeze ret end
# File tk/lib/tk/optiondb.rb, line 36 def get(win, name, klass) tk_call('option', 'get', win ,name, klass) end
define new proc class : If you want to modify the new class or create a new subclass, you must do such operation in the block parameter. Because the created class is flozen after evaluating the block.
# File tk/lib/tk/optiondb.rb, line 350 def new_proc_class(klass, func, safe = 4, add = false, parent = nil, &b) new_klass = __create_new_class(klass, func, safe, add, parent) new_klass.class_eval(&b) if block_given? __remove_methods_of_proc_class(new_klass) new_klass.freeze new_klass end
# File tk/lib/tk/optiondb.rb, line 369 def new_proc_class_random(klass, func, safe = 4, add = false, &b) eval_under_random_base(){ TkOptionDB.new_proc_class(klass, func, safe, add, self, &b) } end
# File tk/lib/tk/optiondb.rb, line 45 def read_entries(file, f_enc=nil) if TkCore::INTERP.safe? fail SecurityError, "can't call 'TkOptionDB.read_entries' on a safe interpreter" end i_enc = ((Tk.encoding)? Tk.encoding : Tk.encoding_system) unless f_enc f_enc = i_enc end ent = [] cline = '' open(file, 'r') {|f| while line = f.gets #cline += line.chomp! cline.concat(line.chomp!) case cline when /\$/ # continue cline.chop! next when /^\s*(!|#)/ # coment cline = '' next when /^([^:]+):(.*)$/ pat = $1.strip val = $2.lstrip p "ResourceDB: #{[pat, val].inspect}" if $DEBUG pat = TkCore::INTERP._toUTF8(pat, f_enc) pat = TkCore::INTERP._fromUTF8(pat, i_enc) val = TkCore::INTERP._toUTF8(val, f_enc) val = TkCore::INTERP._fromUTF8(val, i_enc) ent << [pat, val] cline = '' else # unknown --> ignore cline = '' next end end } ent end
# File tk/lib/tk/optiondb.rb, line 90 def read_with_encoding(file, f_enc=nil, pri=None) # try to read the file as an OptionDB file read_entries(file, f_enc).each{|pat, val| add(pat, val, pri) } i_enc = Tk.encoding() unless f_enc f_enc = i_enc end cline = '' open(file, 'r') {|f| while line = f.gets cline += line.chomp! case cline when /\\$/ # continue cline.chop! next when /^\s*!/ # coment cline = '' next when /^([^:]+):\s(.*)$/ pat = $1 val = $2 p "ResourceDB: #{[pat, val].inspect}" if $DEBUG pat = TkCore::INTERP._toUTF8(pat, f_enc) pat = TkCore::INTERP._fromUTF8(pat, i_enc) val = TkCore::INTERP._toUTF8(val, f_enc) val = TkCore::INTERP._fromUTF8(val, i_enc) add(pat, val, pri) cline = '' else # unknown --> ignore cline = '' next end end } end
# File tk/lib/tk/optiondb.rb, line 39 def readfile(file, pri=None) tk_call('option', 'readfile', file, pri) end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.