Ruby 陣列展開,引數個數問題

2021-09-01 06:57:27 字數 528 閱讀 1104

引數個數結論:

必須的引數個數 <=引數個數<= 引數總個數[必須引數個數+可選引數個數]

#引數個數,陣列展開,問題

a = ['order','p','page']

def m1(a, b=2, c=3)

puts "a=#, b=#, c=#"

endm1(*a)

def m2(a, b=2)

puts "a=#, b=#"

end#m2(*a) #in `m2': wrong number of arguments (3 for 2) (argumenterror)

def m3(a, b=2, c=3, d=4)

puts "a=#, b=#, c=#, d=#"

endm3(*a)

這裡不包括預設自帶的block引數,即method_x(param1, param2, ... , &block)

====完畢====

技術人術

引數個數可變的函式

今天突然想起引數個數可變的函式,然後想了下,覺得自己還真不太了解它,遂決定弄清楚。1.如何取得可變引數 比如 void f int fixpara1,char p char fixpara1 取得固定引數位址 cout int p 為什麼p 4可以取到第乙個可變引數呢?因為引數在函式被呼叫前,會逐個...

可變引數個數的函式

type vafunction type arg1,type arg2,引數可以分為兩部分 個數確定的固定引數和個數可變的可選引數。函式至少需要乙個固定引數,固定引數的宣告和普通函式一樣 可選引數由於個數不確定,宣告時用 表示。固定引數和可選引數公同構成乙個函式的引數列表。標準c c 包含標頭檔案s...

Java可變引數個數方法

jdk5.0新特性 可變個數形式引數 1.可匹配0至多個引數 2.可與其他同名方法構成過載 3.與陣列的使用方法一直,只是多了 沒有引數 4.若要加入其它型別的引數,要寫在可變個數形參之前 class nulltomulvar public int comein0 因為已經存在comein0 方法,...