iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
自我挑戰組

滿滿的紅寶石不拿嗎?-- 去吧!我把世界上的一切都放在那裡了! 系列 第 4

變數 <> 波瀾詭譎的程式之海總是充滿變數 - 滿滿的紅寶石不拿嗎?

  • 分享至 

  • xImage
  •  

[Day04] 鬼之島戰役最大的變數!

在 Ruby 如何宣告和使用變數

今天會繼續探討 Ruby 裡的變數,昨天有講到變數跟國中數學課學到的 x 和 y 一樣,都是為了把值先存起來,會使用= 來為變數指定值。

a = 1

接下來,我們拿變數 a 來進行運算:

a = a + 2

puts a
3

在這裡的意思是把原有的變數 a 加上 2,計算後會得到 3 ,然後再把 3 重新指定給 a,所以變數 a 的最後的值會是 3

另外 a = a + 2 這行也可以寫成:

a += 2

透過陣列甚至可以一次指定多個變數:

x, y, z = [1, 2, 3]

x => 1
y => 2
z => 3

假設有兩個變數 x 與 y ,如果要讓其對調,

可以利用另一個變數暫存:

x, y = [2, 3]
w = x
x = y
y = w

puts x 
3
puts y
2

在 Ruby 的世界裡還可以這樣 #直接交換!

x, y = [2, 3]
x, y = y, x 
puts x
3
puts y
2

常數

通常在定義類別、或是模組時,會使用常數(Costant)作為名稱,但規定是要用大寫字母開頭。

Pi = 3.1415

在 Ruby 的世界裡,常數是可以被修改的(會發生警告,但是可以執行)

A = 1

A = 2
warning: already initialized constant A
warning: previous definition of A was here
=> 2 

龍哥:「變數就像標籤,本身沒有型態。」


變數命名慣例

對於變數命名,Ruby 生態圈有著慣例優於設定(Convention over Configuration)
的不成文傳統,大家 coding 時普遍會遵循某一套撰寫風格。

以下介紹兩種常見的命名方式:

駝峰式 (camelCase)

在 Java 和 JavaScript 較常看到這種寫法
例:firstName, parseDataString1

蛇式 snake_case:


所以我說那個蛇的部分?

Ruby 和 Python 較偏好使用這種命名風格
例:first_name , parse_data_string


虛擬變數

除此之外,還有一種被定義在 Ruby 內部的變數,稱做虛擬變數(Pseudo Variable),例如 nilselftruefalse 這些都是,它們有著特別的用途以及固定的意義表示,無法被更動。


變數可以運用的場景其實遠遠不僅於此,
後面還會再說明如何搭配運算子以及方法的使用,還是那句老話:

「有人就有變數,有變數就有江湖,人,就是江湖。」 (誤)


上一篇
資料型態 <> Ruby 語言也有惡魔果實圖鑑 - 滿滿的紅寶石不拿嗎?
下一篇
運算子 <> 彈無虛發!一起和 GOD烏索普覺醒見聞色霸氣吧!- 滿滿的紅寶石不拿嗎?
系列文
滿滿的紅寶石不拿嗎?-- 去吧!我把世界上的一切都放在那裡了! 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言