2015年3月8日 星期日

Ruby入門

Rails上手指南要往下看的話,Ruby就算不熟至少也要入門一下,
這裡的二十分鐘體驗可以先參考
https://www.ruby-lang.org/zh_tw/documentation/quickstart/

這邊做個筆記

#{name} 字串內嵌,在字串中插入資料的方式
那個name是範例的變數,可以用其它的程式碼代換掉,例如1+1,
所以 "#{1+1}" 顯示出的字串為 2
只是這東西要放在""內,試了一下沒放在""裡就沒效果了。

類別的名稱要定義成常數,也就是第一個字為大寫 class Greeter
不然會吐錯誤訊息:class/module name must be CONSTANT

class內宣告的變數要加上 @ 符號,沒加會出現錯誤 undefined local variable or method

像這樣的變數 @name 類別外無法存取,所以有個 attr_accessor 的類別方法,如下使用:
class Greeter
  attr_accessor :name
end

為什麼連Greeter宣告都要再寫一遍?這展示了一個特性,你可以隨時修改類別。

respond_to 可以判斷物件是否有某種方法,下面有2種寫法
if @names.respond_to?("each")
if @names.respond_to? :each

可使用 each 方法的物件迭代的方法如下:
@names.each do |name|
  #這裡可以加入程式碼處理 name 變數
end

有一個特別的技巧 if __FILE__ == $0 可以拿來寫程式碼測試
__FILE__ 是檔案名 
$0       是執行檔名
所以不相同時表示是方法庫,就不會執行到裡面的程式了。

沒有留言:

張貼留言