#方法 def helloworld puts "Hello World!" end helloworld #帶參數的方法 def hello(name) puts "Hello #{name}" end hello("World!") hello("Ruby") #帶可變長參數的方法 def hello(*name) name.each { |x| puts "Hello #{x}" } #each迭代器將name的值傳遞給x end hello("zhao","wang","li") def sum(*args) sum = 0 args.each { |x| sum += x } return sum end p sum(1,2,3) #定義帶塊的方法 def myloop while true yield #執行塊 end end num = 1 myloop do puts "num is #{num}" break if num > 100 num *= 2 end #帶關鍵字參數的方法 def score(chinese:0,math:0,english:0) puts "chinese is #{chinese}" puts "math is #{math}" puts "english is #{english}" end score(chinese:10,math:20,english:30) #關鍵字與未定義參數搭配使用的方法 def math(x:0,y:0,**args) [x,y,args] end p math(x:1,y:2,n:3,m:4) #未定義關鍵字參數以散列的形式保存 #關鍵字參數與普通參數搭配使用的方法 def pp(z,x:0,y:0) [z,x,y] end p pp(1,x:2,y:3) #把數組分解爲參數 def foo(a,b,c) a+b+c end args1 = [2,3] p foo(1,*args1) args2 = [1,2,3] p foo(*args2) #把散列作爲參數傳遞 def func(arg) arg end p func(a:1,b:2) def func2(arg1,arg2) [arg1,arg2] end p func2(100,a:1,b:2,c:3)
Ruby-方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.