Code Spot
底下的 code 摘自 Ruby for Rails:
class Customer < ActiveRecord::Base
def nice_name
title + " " + first_name + " " +
(if middle_initial then middle_initial + ". " else "" end) +
last_name
end
end
粗體字的部份是一段 if 語法會傳回一個字串, 所以意思就是若 middle_initial 不是空字串時則傳回 middle_initial+". ", 否則傳回一個空字串. 整個判斷語法被當成一個字串使用, 不需要像一般的 language 這樣寫:
def nice_name
if middle_initial then m=middle_initial+". " else m=""
title + " " + first_name + " " + m + last_name
end
這種用法在適當的時候可以讓 code 做更好的呈現, 我覺得更適合人類閱讀.
沒有留言:
張貼留言