JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Languages on JVM » Scala  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 Re:我為何鍾情於用 Scala 做為自己的兵刃(三)--物件導向與 Functional Programming 的甜蜜相遇。 [Re:linuxhsu]
T55555

Java, Ruby, Haskell

版主

發文: 1026
積分: 24
於 2011-01-16 01:10 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
linuxhsu wrote:
...

再繼續前,為了公平起見,我必須提一下。其實不只 Scala 是用這個方式,
Ruby 也是將這些常用的 High order function 當做陣列之類的物件的 method,
上面的程式用 Ruby 寫起來可能像這樣:

1
2
3
x = [-1, -2, -3, 0, 1, 2, 3]
result = x.map{|n| n * n}.select{|x| x > 5}.length
puts(result)


在這邊,因為我不熟 Ruby,所以我只會寫將函數內嵌的版本,但我確定 Ruby
也能寫出和 Scala 一樣將函數放在外面的版本,我曾經看過,不過我忘記怎麼
寫了。
...


fyi. in Ruby, 將函數放在外面的版本 could like:
1
2
3
4
5
x = [-1, -2, -3, 0, 1, 2, 3]
square = proc { |n| n * n }
isGreaterThan5 = lambda { |x| x > 5 }
result = x.map(&square).select(&isGreaterThan5).length
puts(result)


Ruby even has very short way to write code like:
1
2
ary = ["abc", "xy"]
ary.map { |x| x.size }

to
1
2
ary = ["abc", "xy"]
ary.map(&:size)


T55555 edited on 2011-01-16 01:14
reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
1466 我為何鍾情於用 Scala 做為自己的兵刃(三)--物件導向與 Functional Programming 的甜蜜相遇。 linuxhsu 5490 2011-01-15 18:35
1021 Re:我為何鍾情於用 Scala 做為自己的兵刃(三)--物件導向與 Functional Programming 的甜蜜相遇。 T55555 909 2011-01-16 00:33
1126 Re:我為何鍾情於用 Scala 做為自己的兵刃(三)--物件導向與 Functional Programming 的甜蜜相遇。 T55555 769 2011-01-16 01:10
» JWorld@TW »  Languages on JVM » Scala

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8