Ruby 使用手冊

變數 Variables

Ruby 有三種變數、一種常數和兩個擬變數 (pseudo-variable)。變數與常數並不需要型別, 雖然無型別 (untyped) 的變數有一些缺點,但有更多優點,而且符合 Ruby 快捷易用的理念。

大部分語言中,變數都需要宣告,才能指定型別、可修改性 (modifiability)(即,是不是常數)、變數作用域 (scope);因為型別不再是個問題,我們會在之後的變數名稱中證實,所以 Ruby 並不需要變數宣告。

透過識別符 (identifier) 的第一個字元,就能分辨出變數:

$ 全域變數 (global variable)
@ 實例變數 (instance variable)
[a-z]_ 區域變數 (local variable)
[A-Z] 常數

例外的是 Ruby 中的兩個擬變數 (pseudo-variable):self、永遠指示目前正在執行的物件;nil、這是指派予未初始化 (uninitialized) 變數的無意義值。這兩個都如同區域變數,self 是由直譯器維護的全域變數,而 nil 則是一個常數。幸好只有兩個例外,並不會造成太大困惑。

你不能為 selfnil 指派任何值。mainself 的值)指的是上層 (top-level) 物件:

ruby> self
   main
ruby> nil
   nil

Copyright (c) 2005-2008 Mark Slagell,中文翻譯 Ruby Taiwan 社群

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

A copy of the license is included in the section entitled "GNU Free Documentation License."