朴 èŠå°ã§ã™ã€‚
2007/2/18, Yukihiro M. [email protected]:
ãŸã—ã‹ã«å…ƒã®ã‚¯ãƒ©ã‚¹ã¨instance_evalã§ã¯ã‚ã‘ãŒé•ã†ã‚“ã§ã™ã。ã§ã‚‚
instance_evalã¨ã‹ã€ç‰¹ç•°ã‚¯ãƒ©ã‚¹ã ã¨ãã®ã‚ªãƒ–ジェクトã®scopeã§ä½•ã‹ã‚’ã™ã‚‹ã€ã¨
言ã†æ„Ÿã˜ã¯ã‚ã‚‹ã‚“ã§ã™ã。ユーザã®ä¸€äººã¨ã—ã¦ã¯ã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã¨å¬‰ã—ã„ã¨æ€ã„
ã¾ã™ã€‚
ã§ã€ã‚‚ã¨ã‚‚ã¨å•é¡Œã ã£ãŸSingletonã®æ–¹ã§ã™ãŒã€ã“ã‚“ãªã®ã¯ã©ã†ã§ã—ょã†ã€‚
klass.instance_eval {
@__instance__ = nil
@__mutex__ = Mutex.new
}
ã®å¤‰ã‚ã‚Šã«
def klass.__init__
@__instance__ = nil
@__mutex__ = Mutex.new
end
klass.__init__
make test-allã§ç¢ºèªã—ã¾ã—ãŸãŒã€ã‚„ã£ã±ã¡ã‚‡ã£ã¨è¦‹ã«ãã„ã§ã™ã。