2014-02-21 45 views
2

我是Ruby新手,我試圖在Ruby中聲明一個簡單的變量,它可以存儲int類型的值。ruby​​中的整型變量聲明

我曾嘗試以下代碼

var=5 
puts var 

@var=5 
puts @var 

在兩個程序的輸出是5,任何人可以解釋什麼是在兩種類型的代碼的差異。

+0

RTFM,比如這一個:http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Variables_and_Constants –

+1

http://www.slideshare.net/ciscoleal/ruby-vars-intro – Nithin

+0

http://www.tutorialspoint.com/ruby/ruby_variables.htm – shiva

回答

5

您正在談論使用紅寶石語言的變量類型。

var = 5 is local variable 

@var = 5 is instance variable 

本地和實例變量之間的主要區別在於該局部變量僅在控制器可用的,其中作爲實例變量是在相應的視圖提供。控制器和視圖不共享局部變量。

對於更多的細節請查看以下鏈接:

Ruby Programming/Syntax/Variables and Constants

Variables in Ruby

0

@var是一個實例變量,通常用於類。

1

var是一個局部變量和@var是可變的一個實例

是局部變量和實例變量之間的主要區別如下

  1. 局部變量具有其範圍的限制,即不提供給另一方法,其中作爲實例可用於另一個
  2. 本地和實例變量也可在視圖中
  3. 實例變量對於每個對象是分開的
0

var = 5是本地varibale,並且只能從其塊的內部訪問。

@var = 5是實例varibale,實例變量屬於對象本身。