[#43353] 丸数字の文字コード変換 — Masuda Yoshihisa <sacong@...>
マスダといいます。
10 messages
2007/04/02
[#43363] 特定のmoduleに属しているかの判別 — "西塔伸一郎" <sinsaihy@...>
初めまして
5 messages
2007/04/04
[#43369] dRuby に CGI を渡す→script_uri が上手く取得出来ない — 石井 大海 <banzaida@...>
こんばんは、konnです。
10 messages
2007/04/05
[#43373] Re: dRuby に CGI を渡す→script_uri が上手く取得出来ない
— Masatoshi SEKI <m_seki@...>
2007/04/06
咳といいます。
[#43374] Re: dRuby に CGI を渡す→script_uri が上手く取得出来ない
— 石井 大海 <banzaida@...>
2007/04/06
こんにちは、konnです。
[#43376] Re: dRuby に CGI を渡す→script_uri が上手く取得出来ない
— Masatoshi SEKI <m_seki@...>
2007/04/06
咳といいます。
[#43382] VB6からrubyを呼び出す際の問題について — "takumi iino" <trot.thunder@...>
はじめまして。飯野と申します。
11 messages
2007/04/06
[#43383] Re: VB6からrubyを呼び出す際の問題について
— rubikitch@...
2007/04/06
From: "takumi iino" <trot.thunder@gmail.com>
[#43384] Re: VB6からrubyを呼び出す際の問題について
— "takumi iino" <trot.thunder@...>
2007/04/06
飯野です。
[#43385] Re: VB6からrubyを呼び出す際の問題について
— "takumi iino" <trot.thunder@...>
2007/04/06
飯野です。
[#43407] オブジェクトのインスタンス変数名の取得 — pegacorn <subscriber.jp@...>
こんにちは。
8 messages
2007/04/10
[#43408] Re: オブジェクトのインスタンス変数名の取得
— Yukihiro Matsumoto <matz@...>
2007/04/10
まつもと ゆきひろです
[#43409] Re: オブジェクトのインスタンス変数名の取得
— pegacorn <subscriber.jp@...>
2007/04/10
07/04/10 に Yukihiro Matsumoto <matz@ruby-lang.org> さんは書きました:
[#43410] Re: オブジェクトのインスタンス変数名の取得
— Yukihiro Matsumoto <matz@...>
2007/04/10
まつもと ゆきひろです
[#43415] Gtk::TreeView でドラッグ — Takeshi Honda <moecho21@...>
お世話になります。
5 messages
2007/04/10
[#43428] ClassのクラスはClass自身でない? (RHGの疑問点) — Yoshino <ysnmin@...>
初めまして。吉野と言います。
5 messages
2007/04/12
[#43435] ruby から C/C++ の利用法 — ohrsts@...
小原と申します。
6 messages
2007/04/14
[#43450] Fwd: 「オープンソースカンファレンス2007 Hokkaido」開催のお知らせ — "SHIMADA Koji" <snoozer.05@...>
しまだ@Ruby札幌です。
4 messages
2007/04/20
[ruby-list:43372] Re: 特定のmoduleに属しているかの判別
From:
"MIYAMUKO Katsuyuki" <miyamuko@...>
Date:
2007-04-06 03:10:07 UTC
List:
ruby-list #43372
みやむこです。
> > Foo::Barクラスのインスタンスなりクラスなりから、
> > 「自分(Foo:Bar)はFoo配下のクラスである」と判別したいのです
別解として、ActiveSupport を使うという手もあります。
中でやっていることは [ruby-list:43364] とだいたい同じです。
require "active_support"
module Foo
class Bar
class Baz
p self.parent #=> Foo::Bar
p self.parent == Foo::Bar #=> true
p self.parents #=> [Foo::Bar, Foo, Object]
p self.parents.include?(Foo) #=> true
p self.parents.include?(Foo::Bar) #=> true
end
end
end
> $o.class.to_s.split(/::/)[0..-2].inject(Object){|s,x| s.const_get(x)} # => Foo::Bar
>
> injectとconst_getの連携は慣用句でしょう。
これ、そのクラスが存在するかしないか分からないような
pluggable なスクリプトを書いてるときにはまるんですよね。
(というか、最近はまりました :-)
class String
def my_constantize
split(/::/).inject(Object){|s,x| s.const_get(x)}
end
end
module Plugin
module Gmail; end
end
class Gmail; end
class YouTube; end
p "Plugin::Gmail".my_constantize # => Plugin::Gmail
p "Plugin::YouTube".my_constantize # => YouTube
# → Plugin::YouTube は存在しないのでエラーになってほしいが、
# ::YouTube が返ってくる。。。orz
これも ActiveSupport で。
require "active_support"
p "Plugin::Gmail".constantize # => Plugin::Gmail
p "Plugin::YouTube".constantize # => #<NameError: uninitialized
constant Plugin::YouTube>