震惊小伙伴的单行代码●F#篇

几年前,函数式编程的复兴正值巅峰,一篇介绍 Scala 中 10 个单行函数式代码的博文在网上走红。很快地,一系列使用其他语言实现这些单行代码的文章也随之出现,比如 Haskell, Ruby, Groovy, Clojure, Python, C#, F#, CoffeeScript

每篇文章都令人印象深刻的揭示了这些语言中一些出色优秀的编程特征。编程高手们利用这些技巧提高编程速度、改进软件质量,编程初学者能从这些简洁的预防中学到各种编程语言的真谛。本《震惊小伙伴的单行代码系列》将逐一介绍这些各种编程语言单行代码文章,供大家学习参考。

1. 让列表中的每个元素都乘以2

[for n in 1..10 -> 2*n]

2. 求列表中的所有元素之和

Seq.sum [1..1000]

3. 判断一个字符串中是否存在某些词

Seq.exists tweet.Contains wordList

4. 读取文件

System.IO.File.ReadAllText "data.txt"
System.IO.File.ReadLines "data.txt"

5. 祝你生日快乐!

for i in 1..4 do printfn "Happy Birthday %s" (if i=3 then "dear NAME" else "to You")

6. 过滤列表中的数值

let failed, passed = List.partition ((>) 60) [49; 58; 76; 82; 88; 90]

7. 获取XML web service数据并分析

#r "System.Xml.Linq"; System.Xml.Linq.XDocument.Load "data.xml"

8. 找到列表中最小或最大的一个数字

Seq.min [14; 35; -7; 46; 98]
Seq.max [14; 35; -7; 46; 98]

9. 并行处理

Array.Parallel.map ((*) 2) [|1..100|]

10. 素数

Seq.filter (fun i -> Seq.forall (fun j -> i%j<>0) [2..i-1]) [2..50]
分享这篇文章:

One Response to 震惊小伙伴的单行代码●F#篇

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据