標籤:
Ruby方法
方法名要以小寫字母開頭,如果用大寫字母開頭會被作為常量 (這點很奇怪)
定義一個無參的方法
def method_name expr..end
定義一個有參的方法
def method_name (var1, var2) expr..end
給參數設定預設值
def method_name (var1=value1, var2=value2) expr..end
調用方法很簡單
method_name 25, 30
傳回值
很奇特的一點是ruby居然可以預設把最後一個語句的值當做傳回值比如
def test i = 100 j = 10 k = 0end
在調用這個方法時,將返回最後一個聲明的變數 k。
也可以用常規的return語句來傳回值
很有趣的是:如果給出超過兩個的運算式,包含這些值的數組將是傳回值。如果未給出運算式,nil 將是傳回值
#!/usr/bin/ruby# -*- coding: UTF-8 -*-def test i = 100 j = 200 k = 300return i, j, kendvar = testputs var
返回
100200300
可變數量的參數
#!/usr/bin/ruby# -*- coding: UTF-8 -*-def sample (*test) puts "參數個數為 #{test.length}" for i in 0...test.length puts "參數值為 #{test[i]}" endendsample "Zara", "6", "F"sample "Mac", "36", "M", "MCA"
類方法
有一個奇怪的預設規則:當方法定義在類的外部,方法預設標記為 private。另一方面,如果方法定義在類中的,則預設標記為 public。Ruby alias 語句
alias 方法名 方法名alias 全域變數 全域變數
雖然真的不知道這個有什麼作用。。。Ruby undef 語句還可以動態取消方法定義(
這個不僅覺得沒什麼用,還覺得最好不要用)
有趣的Ruby-學習筆記3