国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Ruby中的方法(函數)學習總結

2019-10-26 19:24:22
字體:
來源:轉載
供稿:網友

1、Ruby中方法名和變量名的命名規則一樣(以小寫字母開頭,單詞之間的分隔使用“_”,),不過可以在方法名后邊帶上!(重磅方法)或者?(布爾類型返回值)。

2、方法的參數請使用(),參數都是局部變量,可以為這些參數設置默認值,帶“*”的參數是可選動態參數,可以傳入一個或者多個,如果有普通參數,也有可選參數,可選參數要放在最后,如下邊示例代碼。

代碼如下:
def read_book(chinese='水滸傳',english='Jane Eyre',*others)
  puts "中文書籍:#{chinese},English book:#{english}"
  temp=''
  others.each do |o|
    temp<<o<<' '
  end
  puts "其他可選書籍:#{temp}"
 
end

read_book
# 輸出:中文書籍:水滸傳,English book:Jane Eyre
read_book('西游記','Rails','紅樓夢','三國演義','封神演義','隋唐演義')
# 輸出:
# 中文書籍:西游記,English book:Rails
# 其他可選書籍:紅樓夢 三國演義 封神演義 隋唐演義

3、方法的返回值不需要進行聲明,默認情況下最后一行代碼為返回值,但是若有條件判斷返回的情況,需要用return聲明,如下示例代碼:

代碼如下:
def late_for_work?(minutes)
  return true if minutes>=15
  false
end

late_for_work?(10)    #false
late_for_work?(15)    #true

4、重磅方法是指方法名后帶“!”的方法,普通方法返回的是原對象的一個拷貝,而重磅方法返回的始終是原對象本身,如下邊示例代碼:

代碼如下:
x='hello'
y=x.upcase
puts "x:#{x},y:#{y}"   #輸出:x:hello,y:HELLO   x的值未發生改變

x='hello'
y=x.upcase!
puts "x:#{x},y:#{y}"   #輸出:x:HELLO,y:HELLO   x的值已經發生改變

5、方法中可以使用別名關鍵字“alias”生成方法的一個拷貝,即使原方法發生了變化,別名拷貝也不會發生變化,如下示例代碼:

代碼如下:
def show_alias
  puts 'Before alias!'
end
alias alias_foo show_alias
def show_alias
  puts 'After alias!'
end
show_alias   #輸出:After alias!
alias_foo    #輸出:Before alias!

6、Ruby的方法可以一次性返回多個值,不過實質上只是表面看來是返回多個值,本質上是返回了一個數組,數組中存儲多個返回值,接收時可以直接定義多個變量一次性接收,如下示例代碼:

代碼如下:
def more_result_foo
 x=5
 y=x*x
 z=y-x+2
 return x,y,z  #返回x,y,z三個值
end
a,b,c=more_result_foo #a,b,c接收返回的x,y,z

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射阳县| 文昌市| 龙泉市| 农安县| 西青区| 连平县| 郯城县| 凤庆县| 屏东县| 南丹县| 宜宾县| 札达县| 西青区| 岳普湖县| 吉安县| 中方县| 大丰市| 涿州市| 阳曲县| 乐山市| 苍梧县| 新宁县| 通州区| 麻城市| 连江县| 平陆县| 岑溪市| 鸡泽县| 峡江县| 威海市| 澎湖县| 万全县| 额尔古纳市| 新蔡县| 泌阳县| 化州市| 宁强县| 鹤山市| 丹阳市| 凤山市| 博兴县|