[前][次][番号順一覧][スレッド一覧]

learn-ruby-in-kansai:137

From: tomoya <tomoya@c...>
Date: Sun, 26 Dec 2004 20:56:38 +0900
Subject: [learn-ruby-in-kansai:137] Re: WIN32OLE についての質問2

cuzicです。

> 酒井です。
> 
> cuzicさん、ありがとうございました。 おかげで①は解決しました。
> cell.item(i, j).Borders(position('l')).Weight = line_w('s')が
> cell[i, j].Borders(position('l')).Weight = line_w('s')と記述できるようになり 
> ました。
いえいえ。
酒井さんの質問で新しいテクニックを思いつくことができました。
こちらこそ、ありがとうございました。

> しかし、module定義の中のdef v.cell= cellとdef v.method_missing(name,*args)
> の意味が理解できません。勉強会で教えてください。
特異メソッドの定義と method_missing は、たしかに理解しにくいですね。
これは、動的な言語である Ruby の特徴を活かした部分です。

特異メソッドと method_missing はよくある静的言語のオブジェクト指向の
方法論とかなり異なるので、賛否が分かれるところだと思います。
しかし、こんなにパワフルです。

まぁ、難しい話は勉強会で。
> 
> なかなか参考にできる例がVBAしかなくRubyらしくWin32OLEでEXCELを使うことは、難 
> しい。
> VBAの例題は、だらだら機能を紹介記述する例が多いのとRubyのOOPに対する知識不足 
> も原因の1つです。

Ruby の能力を引き出すプログラミングをするには従来の OOP の理解では
不十分な部分は多いと思いますが、そのあたりを解説した書籍なども少ないです
ね。

私の連載では Win32OLE の使い方を紹介することが主な目的ですが、その中で
必要に合わせて、今回での記事のように Ruby でのすごいやり方を
説明していく予定です。
ご期待ください。

> 1.moduleによる拡張。 moduleは、Classにincludeして使うものと思っていました。
> 2.. yieldの使い方。   yieldについては、本を読んでも今1つ使い場 
> 所が不明でした。

何を知らなかったかなど、教えてくださいまして、ありがとうございます。

Object#extend による拡張や、yield の使い方をこの記事を読んで
理解したという方は意外に多いかもしれませんね。

ほかのみなさんも、今回の記事で、何が知らなくて、何をすごいと思ったかを
教えてください。
今後 記事を書いていくときや、勉強会での内容の参考にしていきます。
みんなで充実した内容の勉強会を作っていきましょう。

よろしくお願いします。

-- 
KAWANISHI Tomoya <tomoya@c...>


--
ML: learn-ruby-in-kansai@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

       132 2004-12-25 13:38 [sakai-n@m...        ] Re: WIN32OLE についての質問2           
->     137 2004-12-26 12:56 ┗[tomoya@c...         ]