Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > tk/variableライブラリ > TkVariableクラス

class TkVariable


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"}

目次

特異メソッド
callback new new_hash
インスタンスメソッド
% & * ** + - / <=> == =~ [] []= bool bool= set_bool bool_element bool_type= set_bool_type clear coerce default_element_value_type default_proc default_value default_value= default_value_type default_value_type= set_default_value_type element_lappend element_lget element_lindex element_lget_f element_lget_i element_lset element_to_a list_element element_to_f element_to_i element_to_s string_element element_to_sym eventloop_tkwait eventloop_wait exist? id is_hash? is_scalar? keys lappend lget lindex lget_f lget_i list list= list_type= set_list_type lset nonzero? numeric numeric= numeric_element numeric_type= set_numeric_type numlist numlist= set_numlist numlist_element numlist_type= set_numlist_type procedure procedure= set_procedure procedure_element procedure_type= set_procedure_type ref remove unset set_bool_element set_bool_element_type set_default_element_value_type set_default_value set_element_value set_element_value_type set_list set_list_element set_numlist_element set_list_element_type set_numeric set_numeric_element set_numeric_element_type set_numlist_element_type set_procedure_element set_procedure_element_type set_string string= set_string_element set_string_element_type set_string_type string_type= set_symbol symbol= set_symbol_element set_symbol_element_type set_symbol_type symbol_type= set_value set_value_type value_type= set_variable variable= set_variable_element set_variable_element_type set_variable_type variable_type= set_window window= set_window_element set_window_element_type set_window_type window_type= size string symbol to_sym symbol_element thread_tkwait thread_wait tkwait to_a to_eval to_f to_i to_s trace trace_callback trace_element trace_vdelete trace_vdelete_for_element trace_vinfo undef_default update value value= variable variable_element wait window window_element zero? |
定数
TkCommandNames TkVar_CB_TBL TkVar_ID_TBL Tk_VARIABLE_ID USE_TCLs_SET_VARIABLE_FUNCTIONS

特異メソッド

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]