#3 楼 @terrywang +1 另外,我看懂了你的头像。
一定要走上 '茴' 字这条路吗? :)
(1.9+18.99).round(2)
我猜,我猜,我猜猜猜?
用 "%02X"
str.each_byte{|byte| puts "%02X" % byte}
或
str.each_byte{|byte| printf "%02X\n", byte}
楼主有时间也可写一下在 Windows 下开发 Rails 的教程,尤其是环境的配置等。虽然在 Windows 下开发 Rails 是小众,不过看咱坛子里时不时有人会问起这个问题。
这......
@Koz 你的中文真好啊。
建议楼主还是先看看 Ruby 相关的书籍吧,不学的话,怎么能用好 Ruby 呢。:)
会吹口哨,算不? :)
赞同 @huacnlee ,类似的情况在其他论坛见太多了。
最后一个 a 还可以这么取: ruby 1.9.x
class A
...
a = 3
end.tap{|a| p a}
mruby 到稳定还有一段路要走 :>
#19 楼 @chenge 是重要的。blank class 的作用主要是防止名字空间被污染。 以此例来说,Wrapping 默认是从 Object 继承,这样会导致 Wrapping.new 创建的对象拥有来自 Object 及 Kernel 的方法。作为一个代理对象,这有可能会与被代理的对象有方法的冲突。 所以,在实现类似的代理类时,通常的做法是让它继承一个 blank class。
比如还是以此例稍微修改一下,然后你看看结果
class SampleService
def m1(data)
return "You sent me '#{data}'"
end
def m2(data)
return "You sent me 2'#{data}'"
end
def method(data)
return "You sent me 3'#{data}'"
end
end
...省略......
p wrap.m1("something")
p wrap.m2("something")
p wrap.method("something")