ruby: 求教一个一直未能理解的问题

我不敢确定 x ||= 0 是不是初始化 x 变量。
如果不是请教这句是什么意思?

如果是初始化 x 变量的话,
那与 x = 0 的这各写法有何不同?

希望能举个例子说明。

先谢谢个各高手了。

x ||= 0 等于 x || x=0

意思是当x没有被定义时,这时会对其进行初始化

irb
x未定义时:

irb(main):002:0> x||x=0
=> 0

x定义 x=1 :

irb(main):003:0> x=1
=> 1
irb(main):004:0> x||x=0
=> 1

或许之前发的一帖能解答这个问题:[url=http://rednaxelafx.iteye.com/blog/361770]关于||=与变量定义[/url]

引用railsconf的一句话:变量缓存,基本上是这个意思,性能也有所提升