亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 創(chuàng)建一個(gè)迭代器 [打印本頁(yè)]

作者: Perlvim    時(shí)間: 2013-05-04 22:18
標(biāo)題: 創(chuàng)建一個(gè)迭代器
本帖最后由 Perlvim 于 2013-05-04 22:19 編輯

要求,定義一個(gè)函數(shù),每次調(diào)用,都會(huì)產(chǎn)生一個(gè)不同的值。我嘗試了兩種寫(xiě)法,不知道有沒(méi)有更直接簡(jiǎn)潔的辦法。

1, 使用類(lèi)
  1. class Spp
  2.   @@count = 100
  3.   def Spp.get_number
  4.     puts @@count
  5.     @@count = @count + 1
  6.   end
  7. end

  8. 6.times { Spp.get_number }
復(fù)制代碼
2. 使用匿名函數(shù)
  1. count = 100
  2. get_number = lambda { puts count; count = count + 1 }

  3. 6.times { get_number.call }
復(fù)制代碼
當(dāng)然第一種方法也可以用模塊,也可以用全局變量


作者: bikong0411    時(shí)間: 2013-05-06 09:56
count=100
getnumber = Proc.new { puts count; count = count + 1 }
6.times { getnumber.call }
作者: Perlvim    時(shí)間: 2013-05-06 13:40
不錯(cuò),我現(xiàn)在也搞不清楚 Proc, Lambda 的區(qū)別
作者: rubyish    時(shí)間: 2013-05-06 16:09
學(xué)習(xí) le! 3Q~~
作者: shijiang1130    時(shí)間: 2013-05-06 23:12
看了下,這個(gè)解釋比較強(qiáng)大
  1. > begin; lambda { return 1 }.call end
  2. 1
  3. > begin; Proc.new { return 1 }.call end
  4. LocalJumpError: unexpected return
  5. ...
復(fù)制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2