Shoes.app do
button "OK!"
button "Are you sure?"
end
上記の例のボタンはそれらがクリックされたときに何も行いません。 働きを行わせるためには、それぞれのボタンにブロックを取り付けます。
Shoes.app do
button "OK!" do
append { para "Well okay then." }
end
button "Are you sure?" do
append { para "Your confidence is inspiring." }
end
end
このようにボタンにブロックを取り付けました。 それぞれのブロックはページに新しいパラグラフを取り付けます。 クリックする度に、パラグラフが追加されます。
これはこれ以上深くはしません。ボタンはクリック可能な句でしかありません。
厳密に言えば、次に続く例では他の方法でそれを書いています。
Shoes.app do
@b1 = button "OK!"
@b1.click{para "Well okay then."}
@b2 = button "Are you sure?"
@b2.click{para "Your confidence is inspiring."}
end
見た目は劇的に違いますが、これは同じ動きです。 1つ目の違い:直接ブロックをボタンに取り付けるのではなく、click
メソッドを通して、 ブロックを後で取り付けています。
2つ目の違いはボタンには全く関係がありません。Green Shoesがスロットに要素を直接 追加することを許しているので、append
ブロックが取り除かれています。 そのため直接para
を呼ぶことができます。(prepend
、before
または after
メソッドの場合にはできません。)
以下のメソッドに加えて、ボタンはCommonのすべてのメソッドも継承します。
ボタンがクリックされたときには、click
ブロックが呼ばれます。 このブロックはself
を渡します。意味すること:どちらのボタンでクリックされたか。
ボタンのフォーカスを移動します。 そのボタンはハイライトされ、ユーザがエンターキーを打てば、クリックされます。
Next: Check