Methods
- #
- E
- I
- N
- S
- T
- U
Constants
Encoding | = | nil |
Class Public methods
new(str, enc = nil)
Link
# File ext/tk/lib/tk/encodedstr.rb, line 68 def initialize(str, enc = nil) super(str) # @encoding = ( enc || # ((self.class::Encoding)? # self.class::Encoding : Tk.encoding_system) ) enc ||= (self.class::Encoding)? self.class::Encoding : ((Tk.encoding)? Tk.encoding : Tk.encoding_system) if TkCore::WITH_ENCODING unless encobj = Tk::Encoding::ENCODING_TABLE.get_obj(enc) fail ArgumentError, "unsupported Tk encoding '#{enc}'" end self.force_encoding(encobj) else @encoding = enc end end
new_with_utf_backslash(str, enc = nil)
Link
new_without_utf_backslash(str, enc = nil)
Link
subst_tk_backslash(str)
Link
subst_utf_backslash(str)
Link
to_backslash_sequence(str)
Link
# File ext/tk/lib/tk/encodedstr.rb, line 38 def self.to_backslash_sequence(str) str.unpack('U*').collect{|c| if c <= 0x1F # control character case c when 0x07; '\a' when 0x08; '\b' when 0x09; '\t' when 0x0a; '\n' when 0x0b; '\v' when 0x0c; '\f' when 0x0d; '\r' else format('\x%02X', c) end elsif c <= 0xFF # ascii character c.chr else format('\u%X', c) end }.join('') end
utf_backslash(str)
Link
utf_to_backslash(str)
Link
utf_to_backslash_sequence(str)
Link
Instance Public methods
__instance_variable_get(key)
Link
wrapper methods for compatibility
Alias for: instance_variable_get
instance_eval(*args, &b)
Link
Also aliased as: __instance_eval
# File ext/tk/lib/tk/encodedstr.rb, line 127 def instance_eval(*args, &b) old_enc = @encoding = self.encoding ret = super(*args, &b) if @encoding if @encoding != old_enc # modified by user self.force_encoding(@encoding) end remove_instance_variable(:@encoding) else begin remove_instance_variable(:@encoding) # user sets to nil -> use current default self.force_encoding(Tk.encoding) rescue NameError # removed by user -> ignore, because user don't use @encoding end end ret end