[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [dennou-ruby:001193] Re: [ANN] RubyDCL 1.1.0
西澤です。
> > > 先日予告した RubyDCLの新版(ver.1.1.0)をリリースします。
> > > ダウンロードはホームページからどうぞ。
> > > http://www.gfd-dennou.org/arch/ruby/products/ruby-dcl/
>
> > この新しい名前は
> > include NumRu::DCL
> > としないと使えません。
>
> > 新しいudcntrがモジュールメソッドになっていないためで、
> > module_function :udcntr
> > などとするとうまくいくとおもいます。
>
> 早速お使い下さり有難うございます。本件、失礼しました。
> 対応したものを ruby-dcl-1.1.1 としました。ちなみに、
> 引数なしの module_function を src/lib/dcl.rb 中の
> module NumRu::DCL の トップ に置くことで解決しました。
> (個別に module_function :udcntr などとしても出来ますが)
引数なしの module_function は alias には有効でないみたいです。
udcntrはいけますが__udcntrはいけません。
したがってudcntrの中で__udcntrをよんでいるのでエラーとなります。
%cat tmp.rb
module Test
module_function
def hello
print "hello\n"
end
alias hello2 hello
def hello
print "HELLO\n"
end
end
Test.hello
Test.hello2
%ruby tmp.rb
HELLO
tmp.rb:17: undefined method `hello2' for Test:Module (NameError)
----------
Seiya Nishizawa
seiya@xxxxxx