このスクリプトではもう1つ新しい要素があります。 始め処理終わり処理のイディオムを yield を使った メソッドとして抜き出しているという点です。 このスクリプトでは今までそのまま書き下ろしていた、 ワークブックを開き、終了する動作を別のメソッドで定義しています。 def openExcelWorkbook filename filename = getAbsolutePath(filename) xl = WIN32OLE.new(‘Excel.Application’) book = xl.Workbooks.Open(filename) begin yield book ensure xl.Workbooks.Close xl.Quit end end
このようにすることで、始め処理と終わり処理を 近い位置に書くことができます。 始め処理と終わり処理は互いに関連しています。 その2つが近い位置にあると見通しが良い 分かりやすくスクリプトになります。 始め処理を行ったのちに必ずある終わり処理を行わなければ いけない状況というのは、多いものです。 このテクニックは応用範囲が広く覚える価値があります。
Posted on Tuesday February 16th