作者godfat (godfat 真常)
看板Ruby
标题Re: [问题] Singleton
时间Wed Sep 26 04:27:17 2012
※ 引述《AIGecko (壁虎猫耳控)》之铭言:
[...]
: 其实我也有个解决方法
: 只是我不确定会不会很奇怪
: (以自己角度?以大家角度?)
: 就是使用类别变数当实体变数用
: 不需要产生实体
: class C
: @@value
: def self.func
: return @@value
: end
: end
: 这种写法我也不知道该怎麽解释
: 能解决问题倒是真的
: 或许只要能解决问题+能让人看懂就好?
其实真的就是这样就好了呀 :D 除了 @@value 可以换成 @value 就好了。
singleton 在某方面而言会存在,是因为在那些语言中,class 不是 first order
value, 所以你一定要先有一个 class, 才能产生一个 value. 而在 ruby 中,
class/module 本来就是 first order value 了,也就是说,他们本来就是
singleton 了,所以自然是没必要在上面再挂一层了...
很多 design pattern 在 ruby 里都是没有意义的
--
#!/usr/bin/env ruby [露比] /Programming (Kn|N)ight/ 看板《Ruby》
# if a
dog nailed
extra legs that
http://webptt.com/cn.aspx?n=bbs/Ruby/index.html
#
walks like an octopus, and Welcome ~
Ruby@ptt~
#
talks like an octopus, then
◢█◣ http://www.ruby-lang.org/
# we are happy to treat it as
█ http://www.ruby-doc.org/
# if it were
an octopus.
◥ ◤ http://www.rubyforge.org/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.38.235
1F:推 AIGecko:Ruby果然是让人写起来很快乐的语言 09/26 16:42