Class: Miyako::PointStruct
- Defined in:
- lib/Miyako/API/struct_point.rb
Overview
位置情報のための構造体クラス
位置変更メソッドを追加
Instance Method Summary collapse
-
#*(other) ⇒ Object
インスタンスのかけ算 もう一方が整数のとき、x,yにotherを掛けたものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を掛けたものを返す それ以外の時は例外が発生する 自分自身の値は変わらない other:: 整数もしくはPoint構造体 返却値:: Point構造体.
-
#+(other) ⇒ Object
インスタンスの足し算 もう一方が整数のとき、x,yにotherを足したものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を足したものを返す それ以外の時は例外が発生する 自分自身の値は変わらない other:: 整数もしくはPoint構造体 返却値:: Point構造体.
-
#-(other) ⇒ Object
インスタンスの引き算 もう一方が整数のとき、x,yからotherを引いたものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を引いたものを返す それ以外の時は例外が発生する 自分自身の値は変わらない other:: 整数もしくはPoint構造体 返却値:: Point構造体.
-
#/(other) ⇒ Object
インスタンスの割り算 もう一方が整数のとき、x,yからotherを割ったものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を割ったものを返す それ以外の時は例外が発生する 自分自身の値は変わらない other:: 整数もしくはPoint構造体 返却値:: Point構造体.
-
#move(dx, dy) ⇒ Object
位置を変更したインスタンスを返す(変化量を指定) 引数で指定したぶん移動させたときの位置を新しくインスタンスを生成して返す 自分自身の値は変わらない dx:: 移動量(x方向)。単位はピクセル dy:: 移動量(y方向)。単位はピクセル 返却値:: 自分自身の複製を更新したインスタンス.
-
#move!(dx, dy) ⇒ Object
位置を変更する(変化量を指定) ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す dx:: 移動量(x方向)。単位はピクセル dy:: 移動量(y方向)。単位はピクセル 返却値:: 自分自身を返す.
-
#move_to(x, y) ⇒ Object
位置を変更したインスタンスを返す(位置指定) 引数で指定したぶん移動させたときの位置を新しくインスタンスを生成して返す 自分自身の値は変わらない x:: 移動先位置(x方向)。単位はピクセル y:: 移動先位置(y方向)。単位はピクセル 返却値:: 自分自身の複製を更新したインスタンス.
-
#move_to!(x, y) ⇒ Object
位置を変更する(位置指定) ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す x:: 移動先位置(x方向)。単位はピクセル y:: 移動先位置(y方向)。単位はピクセル 返却値:: 自分自身を返す.
-
#to_ary ⇒ Object
:nodoc:.
- #update!(obj) ⇒ Object
- #update_by_point!(obj) ⇒ Object
- #update_by_rect!(obj) ⇒ Object
- #update_by_size!(obj) ⇒ Object
- #update_by_square!(obj) ⇒ Object
Instance Method Details
#*(other) ⇒ Object
インスタンスのかけ算
もう一方が整数のとき、x,yにotherを掛けたものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を掛けたものを返す それ以外の時は例外が発生する 自分自身の値は変わらない
- other
-
整数もしくはPoint構造体
- 返却値
-
Point構造体
134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/Miyako/API/struct_point.rb', line 134 def *(other) ret = self.dup if other.kind_of?(Numeric) ret[0] *= other ret[1] *= other elsif other.methods.include?(:[]) ret[0] *= other[0] ret[1] *= other[1] else raise MiyakoError, "this parameter cannot access!" end ret end |
#+(other) ⇒ Object
インスタンスの足し算
もう一方が整数のとき、x,yにotherを足したものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を足したものを返す それ以外の時は例外が発生する 自分自身の値は変わらない
- other
-
整数もしくはPoint構造体
- 返却値
-
Point構造体
92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/Miyako/API/struct_point.rb', line 92 def +(other) ret = self.dup if other.kind_of?(Numeric) ret[0] += other ret[1] += other elsif other.methods.include?(:[]) ret[0] += other[0] ret[1] += other[1] else raise MiyakoError, "this parameter cannot access!" end ret end |
#-(other) ⇒ Object
インスタンスの引き算
もう一方が整数のとき、x,yからotherを引いたものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を引いたものを返す それ以外の時は例外が発生する 自分自身の値は変わらない
- other
-
整数もしくはPoint構造体
- 返却値
-
Point構造体
113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/Miyako/API/struct_point.rb', line 113 def -(other) ret = self.dup if other.kind_of?(Numeric) ret[0] -= other ret[1] -= other elsif other.methods.include?(:[]) ret[0] -= other[0] ret[1] -= other[1] else raise MiyakoError, "this parameter cannot access!" end ret end |
#/(other) ⇒ Object
インスタンスの割り算
もう一方が整数のとき、x,yからotherを割ったものを返す Point構造体や配列など、[]メソッドがつかえるもののとき、x,y同士を割ったものを返す それ以外の時は例外が発生する 自分自身の値は変わらない
- other
-
整数もしくはPoint構造体
- 返却値
-
Point構造体
155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/Miyako/API/struct_point.rb', line 155 def /(other) ret = self.dup if other.kind_of?(Numeric) raise MiyakoValueError, "0 div!" if other == 0 ret[0] /= other ret[1] /= other elsif other.methods.include?(:[]) ret[0] /= other[0] ret[1] /= other[1] else raise MiyakoError, "this parameter cannot access!" end ret end |
#move(dx, dy) ⇒ Object
位置を変更したインスタンスを返す(変化量を指定)
引数で指定したぶん移動させたときの位置を新しくインスタンスを生成して返す 自分自身の値は変わらない
- dx
-
移動量(x方向)。単位はピクセル
- dy
-
移動量(y方向)。単位はピクセル
- 返却値
-
自分自身の複製を更新したインスタンス
71 72 73 |
# File 'lib/Miyako/API/struct_point.rb', line 71 def move(dx, dy) self.dup.move!(dx, dy) end |
#move!(dx, dy) ⇒ Object
位置を変更する(変化量を指定)
ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
- dx
-
移動量(x方向)。単位はピクセル
- dy
-
移動量(y方向)。単位はピクセル
- 返却値
-
自分自身を返す
54 55 |
# File 'lib/Miyako/API/struct_point.rb', line 54 def move!(dx, dy) end |
#move_to(x, y) ⇒ Object
位置を変更したインスタンスを返す(位置指定)
引数で指定したぶん移動させたときの位置を新しくインスタンスを生成して返す 自分自身の値は変わらない
- x
-
移動先位置(x方向)。単位はピクセル
- y
-
移動先位置(y方向)。単位はピクセル
- 返却値
-
自分自身の複製を更新したインスタンス
81 82 83 |
# File 'lib/Miyako/API/struct_point.rb', line 81 def move_to(x, y) self.dup.move_to!(x, y) end |
#move_to!(x, y) ⇒ Object
位置を変更する(位置指定)
ブロックを渡したとき、ブロックの評価した結果、偽になったときは移動させた値を元に戻す
- x
-
移動先位置(x方向)。単位はピクセル
- y
-
移動先位置(y方向)。単位はピクセル
- 返却値
-
自分自身を返す
62 63 |
# File 'lib/Miyako/API/struct_point.rb', line 62 def move_to!(x, y) end |
#to_ary ⇒ Object
:nodoc:
170 171 172 |
# File 'lib/Miyako/API/struct_point.rb', line 170 def to_ary #:nodoc: [self[0], self[1]] end |
#update!(obj) ⇒ Object
27 28 29 30 31 |
# File 'lib/Miyako/API/struct_point.rb', line 27 def update!(obj) self[0] = obj[0] self[1] = obj[1] self end |
#update_by_point!(obj) ⇒ Object
33 34 35 |
# File 'lib/Miyako/API/struct_point.rb', line 33 def update_by_point!(obj) update!(obj) end |
#update_by_rect!(obj) ⇒ Object
41 42 43 |
# File 'lib/Miyako/API/struct_point.rb', line 41 def update_by_rect!(obj) update!(obj) end |
#update_by_size!(obj) ⇒ Object
37 38 39 |
# File 'lib/Miyako/API/struct_point.rb', line 37 def update_by_size!(obj) self end |
#update_by_square!(obj) ⇒ Object
45 46 47 |
# File 'lib/Miyako/API/struct_point.rb', line 45 def update_by_square!(obj) update!(obj) end |