永井@知能.九工大です.

>>>>> "N" == NAGAI Hidetoshi <nagai / dumbo.ai.kyutech.ac.jp> writes:
M> |def after(ms, cmd=Proc.new{}) のように修正しないといけないのかな?
M> いや,これではまずいです.こういう場合はブロック引数(&block)
M> で受け取るとかiterator?を使うかして場合分けしないといけない
M> でしょう.
N> え? これは Proc.new の問題ですよね?
N> proc を受け取る引数のデフォルト値で単に Proc.new としているけれども
N> ブロックを渡さない Proc.new ではエラーになるため,
N> after の例では引数 cmd が省略可能ではないということなのですが...
N> # Proc は組み込みクラスですから,
N> # 「iterator? を使う」とかの問題ではないですよね?

def after(ms, cmd=Proc.new) だと,
Tk.after(100){p 111} とすれば
Tk.after(100, Proc.new{p 111}) と同じになるんですね.
知らなかった...;;;^_^;;;

-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai / ai.kyutech.ac.jp