[ プログラミング演習(Ruby) >  プログラミング演習(Ruby) 課題(2025) >  [課題23] 消しゴムメソッド ]

[課題23] 消しゴムメソッド

課題

タートルグラフィクスで, 消しゴム機能のメソッドを以下の要領で作成し,同じファイルの中でそのメソッドも使って,適当な図形を描くプログラムを作成して,プログラムを提出してください.

ここでは,(タートルグラフィクスではなく)一般的な言葉の使い方として「消しゴムをかける」という表現を, 消しゴムを利用して紙面に書かれた線などを消すことの意味で用います.

さてこの課題では,白色を使って線を描くか領域を塗りつぶすことで「消しゴムをかける」機能を実現することにします. どこに消しゴムをかけるかは,メソッドにブロックを与えてブロック内で定めることにします. つまりブロックでの指示にしたがって消しゴムをかけるわけです.

消しゴムメソッドは,以下で示す仕様にしたがって定義してください. また描画する絵は,消しゴムを利用するという条件で自由に決めてください.

消しゴムメソッドの仕様

消しゴムメソッドは次の仕様を満たすように定義してください.

消しゴムメソッドの名称は自由に決めてください. また上の仕様を満たす限り,引数の設定方法も自由に決めてください. なお上に示した例では「:trace」の場合と「:region」の場合とで引数の個数が一致していません. このような引数の指定を可能とするメソッド定義の方法については, 以下で説明します.

消しゴムの利用例

参考までに,消しゴムも利用して描いた絵の例を示します. 正三角形を描いてから対称軸の部分と中心の円形領域に消しゴムを適用しています. 正三角形の対称軸については線幅を指定して消しゴムをかけて, 中心の円形領域は円を描くことで内部に消しゴムをかけています.

消しゴムを使って描いた絵の例

これは一例に過ぎません.同じ絵にする必要はありません. 上で説明したとおり,消しゴムを利用するという条件で,描画する絵は自由に決めてください.

プログラムテンプレート

次に示すプログラムのテンプレート(雛型)を適宜名前を変えて使ってください.

技術要素

課題に関連する技術要素を示します. 必ずしもすべてを利用しないといけないわけではありません.

サンプルプログラム

次のページにサンプルプログラムを示します. プログラムをブラウザの画面で開いたときに文字化けしてしまう場合には, ダウンロードしてEmacs等で開いてみてください.

[ プログラミング演習(Ruby) >  プログラミング演習(Ruby) 課題(2025) >  [課題23] 消しゴムメソッド ]