extend: TkCore
要約
Tclの変数をアクセスするためのクラスです。 ((-Tclの配列としての振る舞いは仕様が不安定のようです-))
require "tk"
p TkVariable.new(0).value # => "0"
p TkVariable.new(1.2).value # => "1.2"
p TkVariable.new(["a", "b"]).value # => {"0"=>"a", "1"=>"b"}
p TkVariable.new(1=>"a", 2=>"b").value # => {"1"=>"a", "2"=>"b"}
目次
- 特異メソッド
- インスタンスメソッド
-
- %
- &
- *
- **
- +
- -
- /
- <=>
- ==
- =~
- []
- []=
- |
- bool
- bool=
- bool_element
- bool_type=
- clear
- coerce
- default_element_value_type
- default_proc
- default_value
- default_value=
- default_value_type
- default_value_type=
- element_lappend
- element_lget
- element_lget_f
- element_lget_i
- element_lindex
- element_lset
- element_to_a
- element_to_f
- element_to_i
- element_to_s
- element_to_sym
- eventloop_tkwait
- eventloop_wait
- exist?
- id
- is_hash?
- is_scalar?
- keys
- lappend
- lget
- lget_f
- lget_i
- lindex
- list
- list=
- list_element
- list_type=
- lset
- nonzero?
- numeric
- numeric=
- numeric_element
- numeric_type=
- numlist
- numlist=
- numlist_element
- numlist_type=
- procedure
- procedure=
- procedure_element
- procedure_type=
- ref
- remove
- set_bool
- set_bool_element
- set_bool_element_type
- set_bool_type
- set_default_element_value_type
- set_default_value
- set_default_value_type
- set_element_value
- set_element_value_type
- set_list
- set_list_element
- set_list_element_type
- set_list_type
- set_numeric
- set_numeric_element
- set_numeric_element_type
- set_numeric_type
- set_numlist
- set_numlist_element
- set_numlist_element_type
- set_numlist_type
- set_procedure
- set_procedure_element
- set_procedure_element_type
- set_procedure_type
- set_string
- set_string_element
- set_string_element_type
- set_string_type
- set_symbol
- set_symbol_element
- set_symbol_element_type
- set_symbol_type
- set_value
- set_value_type
- set_variable
- set_variable_element
- set_variable_element_type
- set_variable_type
- set_window
- set_window_element
- set_window_element_type
- set_window_type
- size
- string
- string=
- string_element
- string_type=
- symbol
- symbol=
- symbol_element
- symbol_type=
- thread_tkwait
- thread_wait
- tkwait
- to_a
- to_eval
- to_f
- to_i
- to_s
- to_sym
- trace
- trace_callback
- trace_element
- trace_vdelete
- trace_vdelete_for_element
- trace_vinfo
- undef_default
- unset
- update
- value
- value=
- value_type=
- variable
- variable=
- variable_element
- variable_type=
- wait
- window
- window=
- window_element
- window_type=
- zero?
- 定数
継承しているメソッド
- Tkから継承しているメソッド
- TkCoreから継承しているメソッド
-
- _tk_call_to_list_core
- after
- after_cancel
- after_idle
- appname
- appsend
- appsend_deny
- appsend_displayof
- callback_break
- callback_continue
- callback_return
- chooseColor
- chooseDirectory
- do_one_event
- event_generate
- getMultipleOpenFile
- getMultipleSaveFile
- getOpenFile
- getSaveFile
- get_eventloop_tick
- get_eventloop_weight
- get_no_event_wait
- inactive
- inactive_displayof
- info
- ip_eval
- ip_eval_with_enc
- ip_eval_without_enc
- ip_invoke
- ip_invoke_with_enc
- ip_invoke_without_enc
- is_mainloop?
- load_cmd_on_ip
- mainloop
- mainloop_exist?
- mainloop_thread?
- mainloop_watchdog
- messageBox
- rb_appsend
- rb_appsend_displayof
- reset_inactive
- reset_inactive_displayof
- restart
- scaling
- scaling_displayof
- set_eventloop_ticktimer_tick
- set_eventloop_weight
- set_no_event_wait
- tk_call
- tk_call_to_list
- tk_call_to_list_with_enc
- tk_call_to_list_without_enc
- tk_call_to_simplelist
- tk_call_to_simplelist_with_enc
- tk_call_to_simplelist_without_enc
- tk_call_with_enc
- tk_call_without_enc
- windowingsystem
- TkCommから継承しているメソッド
- TkUtilから継承しているメソッド
- TkEventから継承しているメソッド
- Comparableから継承しているメソッド
特異メソッド
callback(args)[permalink][rdoc]-
[TODO]
TkVariable#traceにより登録されたProcオブジェクトを実行します。 args は、 [TkVariableのインスタンス, "キー", "操作"] である配列です。
new(val="")[permalink][rdoc]-
[TODO]
値がvalであるTkVariableオブジェクトを生成します。valが Array または Hash のオブジェクトである場合、生成されたインスタンスは Tclの配列として振る舞います。
new_hash(val = {})[permalink][rdoc]-
[TODO]
インスタンスメソッド
self % other[permalink][rdoc]-
[TODO]
self & other[permalink][rdoc]-
[TODO]
self * other[permalink][rdoc]-
[TODO]
self ** other[permalink][rdoc]-
[TODO]
self + other[permalink][rdoc]-
[TODO]
self - other[permalink][rdoc]-
[TODO]
self / other[permalink][rdoc]-
[TODO]
self <=> other[permalink][rdoc]-
[TODO]
self == other[permalink][rdoc]-
[TODO]
値がotherと同じである場合に真です。otherは、 TkVariable, String, Integer, Float, Arrayのいずれかです。
self =~ other[permalink][rdoc]-
[TODO]
self[index][permalink][rdoc]-
[TODO]
index番目の値を返します。 selfはTclの配列でなければなりません。
self[index] = val[permalink][rdoc]-
[TODO]
index番目の要素をvalにします。 selfはTclの配列でなければなりません。
bool[permalink][rdoc]-
[TODO]
bool=[permalink][rdoc]set_bool-
[TODO]
bool_element[permalink][rdoc]-
[TODO]
bool_type=[permalink][rdoc]set_bool_type(val)-
[TODO]
clear[permalink][rdoc]-
[TODO]
coerce(other)[permalink][rdoc]-
[TODO]
default_element_value_type(idxs)[permalink][rdoc]-
[TODO]
default_proc(cmd = Proc.new)[permalink][rdoc]-
[TODO]
default_value(val = nil)[permalink][rdoc]default_value(val = nil) { .... }-
[TODO]
default_value=[permalink][rdoc]-
[TODO]
default_value_type[permalink][rdoc]-
[TODO]
default_value_type=[permalink][rdoc]set_default_value_type(type)-
[TODO]
element_lappend(idxs, *elems)[permalink][rdoc]-
[TODO]
element_lindex(elem_idxs, idx)[permalink][rdoc]element_lget(elem_idxs, idx)-
[TODO]
element_lget_f(elem_idxs, idx)[permalink][rdoc]-
[TODO]
element_lget_i(elem_idxs, idx)[permalink][rdoc]-
[TODO]
element_lset(elem_idxs, idx, val)[permalink][rdoc]-
[TODO]
list_element(*idxs)[permalink][rdoc]element_to_a(*idxs)-
[TODO]
element_to_f(*idxs)[permalink][rdoc]-
[TODO]
element_to_i(*idxs)[permalink][rdoc]-
[TODO]
element_to_s(*idxs)[permalink][rdoc]string_element(*idxs)-
[TODO]
element_to_sym(*idxs)[permalink][rdoc]-
[TODO]
eventloop_tkwait[permalink][rdoc]-
[TODO]
eventloop_wait(check_root = false)[permalink][rdoc]-
[TODO]
exist?(*elems)[permalink][rdoc]-
[TODO]
id[permalink][rdoc]-
[TODO]
is_hash?[permalink][rdoc]-
[TODO]
is_scalar?[permalink][rdoc]-
[TODO]
keys[permalink][rdoc]-
[TODO]
lappend(*elems)[permalink][rdoc]-
[TODO]
lindex(idx)[permalink][rdoc]lget(idx)-
[TODO]
lget_f(idx)[permalink][rdoc]-
[TODO]
lget_i(idx)[permalink][rdoc]-
[TODO]
list[permalink][rdoc]-
[TODO]
list=[permalink][rdoc]-
[TODO]
list_type=[permalink][rdoc]set_list_type(val)-
[TODO]
lset(idx, val)[permalink][rdoc]-
[TODO]
nonzero?[permalink][rdoc]-
[TODO]
numeric[permalink][rdoc]-
[TODO]
numeric=[permalink][rdoc]-
[TODO]
numeric_element(*idxs)[permalink][rdoc]-
[TODO]
set_numeric_type(val)[permalink][rdoc]numeric_type=-
[TODO]
numlist[permalink][rdoc]-
[TODO]
set_numlist(val)[permalink][rdoc]numlist=-
[TODO]
numlist_element(*idxs)[permalink][rdoc]-
[TODO]
set_numlist_type(val)[permalink][rdoc]numlist_type=-
[TODO]
procedure[permalink][rdoc]-
[TODO]
set_procedure(cmd)[permalink][rdoc]procedure=-
[TODO]
procedure_element(*idxs)[permalink][rdoc]-
[TODO]
procedure_type=[permalink][rdoc]set_procedure_type(cmd)-
[TODO]
ref(*idxs)[permalink][rdoc]-
[TODO]
unset(elem=nil)[permalink][rdoc]remove(elem=nil)-
[TODO]
値がTcl配列であるとき、elemの値を削除します。
set_bool_element[permalink][rdoc]-
[TODO]
set_bool_element_type(idxs, val)[permalink][rdoc]-
[TODO]
set_default_element_value_type(idxs, type)[permalink][rdoc]-
[TODO]
set_default_value(val)[permalink][rdoc]-
[TODO]
set_element_value(idxs, val)[permalink][rdoc]-
[TODO]
set_element_value_type(idxs, val)[permalink][rdoc]-
[TODO]
set_list(val)[permalink][rdoc]-
[TODO]
set_list_element(idxs, val)[permalink][rdoc]set_numlist_element(idxs, val)-
[TODO]
set_list_element_type(idxs, val)[permalink][rdoc]-
[TODO]
set_numeric(val)[permalink][rdoc]-
[TODO]
set_numeric_element(idxs, val)[permalink][rdoc]-
[TODO]
set_numeric_element_type(idxs, val)[permalink][rdoc]-
[TODO]
set_numlist_element_type(idxs, val)[permalink][rdoc]-
[TODO]
set_procedure_element(idxs, cmd)[permalink][rdoc]-
[TODO]
set_procedure_element_type(idxs, cmd)[permalink][rdoc]-
[TODO]
string=[permalink][rdoc]set_string(val)-
[TODO]
set_string_element(idxs, val)[permalink][rdoc]-
[TODO]
set_string_element_type(idxs, val)[permalink][rdoc]-
[TODO]
string_type=[permalink][rdoc]set_string_type(val)-
[TODO]
symbol=[permalink][rdoc]set_symbol(val)-
[TODO]
set_symbol_element(idxs, val)[permalink][rdoc]-
[TODO]
set_symbol_element_type(idxs, val)[permalink][rdoc]-
[TODO]
symbol_type=[permalink][rdoc]set_symbol_type(val)-
[TODO]
set_value(val)[permalink][rdoc]-
[TODO]
値を val に設定し、self を返します。
set_value_type(val)[permalink][rdoc]value_type=-
[TODO]
set_variable(var)[permalink][rdoc]variable=-
[TODO]
set_variable_element(*idxs)[permalink][rdoc]-
[TODO]
set_variable_element_type(idxs, var)[permalink][rdoc]-
[TODO]
set_variable_type(var)[permalink][rdoc]variable_type=-
[TODO]
set_window(win)[permalink][rdoc]window=-
[TODO]
set_window_element(idxs, win)[permalink][rdoc]-
[TODO]
set_window_element_type(idxs, win)[permalink][rdoc]-
[TODO]
set_window_type(win)[permalink][rdoc]window_type=-
[TODO]
size[permalink][rdoc]-
[TODO]
string[permalink][rdoc]-
[TODO]
symbol[permalink][rdoc]to_sym-
[TODO]
symbol_element[permalink][rdoc]-
[TODO]
thread_tkwait[permalink][rdoc]-
[TODO]
thread_wait(check_root = false)[permalink][rdoc]-
[TODO]
tkwait(on_thread = true)[permalink][rdoc]-
[TODO]
to_a[permalink][rdoc]-
[TODO]
値を配列(Array)として返します。
to_eval[permalink][rdoc]-
[TODO]
to_f[permalink][rdoc]-
[TODO]
値を数値(Float)として返します。
to_i[permalink][rdoc]-
[TODO]
値を数値(Fixnum)として返します。(現状のTkVariableは、 Bignumを値にすることはできません)
to_s[permalink][rdoc]-
[TODO]
値を文字列(String)として返します。
trace(opts, cmd)[permalink][rdoc]-
[TODO]
optsは、"r", "w", "u" のいずれか、またはこれらの組み合わせで、それぞれ変数が参照、設定、削除 されたときにProcオブジェクト cmd を呼び出します。2回目以降の呼び出しでは、opts が以前の設定と異なればcmdを再設定します。
cmdは、引数に、self、空配列、"操作" を渡されて呼ばれます。"配列のキー" は、変数が配列の場合以外は空文字列です。"操作"は、 "r","w","u" のいずれかです。
require "tk" var = TkVariable.new(0) var.trace "rwu", proc {|arg| puts "callback called with #{arg.inspect}"} p var.value p var.value = 1 p var.unset =>callback called with [<TkVariable: v00000>, [], "r"] "0" callback called with [<TkVariable: v00000>, [], "w"] "1" callback called with [<TkVariable: v00000>, [], "u"] "" trace_callback(elem, op)[permalink][rdoc]-
[TODO]
TkVariable#traceにより登録されたProcオブジェクトを引数にself, elem, opを指定して実行します。
require "tk" var = TkVariable.new(0) var.trace "rwu", proc {|arg| puts "callback called with #{arg.inspect}"} var.trace_callback([], "r") trace_element(elem, opts, cmd)[permalink][rdoc]-
[TODO]
trace_vdelete(opts, cmd)[permalink][rdoc]-
[TODO]
TkVariable#trace で設定したcmdを削除します。opts が TkVariable#trace で設定したときと一致しなければ何もしません。
trace_vdelete_for_element(elem, opts, cmd)[permalink][rdoc]-
[TODO]
trace_vinfo[permalink][rdoc]-
[TODO]
undef_default[permalink][rdoc]-
[TODO]
update(hash)[permalink][rdoc]-
[TODO]
value[permalink][rdoc]-
[TODO]
値を返します。selfがTclの配列ならば(Tclの配列は連想配列なので) Hashとして返します。それ以外では常に文字列を返します。
value=(val)[permalink][rdoc]-
[TODO]
値をvalに設定します。
variable[permalink][rdoc]-
[TODO]
variable_element(*idxs)[permalink][rdoc]-
[TODO]
wait[permalink][rdoc]-
[TODO]
値が変化するまで待ちます。
window[permalink][rdoc]-
[TODO]
window_element(*idxs)[permalink][rdoc]-
[TODO]
zero?[permalink][rdoc]-
[TODO]
self | other[permalink][rdoc]-
[TODO]
定数
TkCommandNames[permalink][rdoc]-
[TODO]
TkVar_CB_TBL[permalink][rdoc]-
[TODO]
コールバック関数を記録するハッシュです。内部で利用しています。
TkVar_ID_TBL[permalink][rdoc]-
[TODO]
Tk_VARIABLE_ID[permalink][rdoc]-
[TODO]
Tclレベルの変数名をインスタンスに割り当てるために内部で利用されています。
Tk_VARIABLE_IDは、配列ですが0番目の要素しか使われていません。 Rubyにおける定数が値を変更できないためです。
USE_TCLs_SET_VARIABLE_FUNCTIONS[permalink][rdoc]-
[TODO]