几年前,函数式编程的复兴正值巅峰,一篇介绍 Scala 中 10 个单行函数式代码 的博文在网上走红。很快地,一系列使用其他语言实现这些单行代码的文章也随之出现,比如 Haskell , Ruby , Groovy , Clojure , Python , C# , F# , CoffeeScript 。
每篇文章都令人印象深刻的揭示了这些语言中一些出色优秀的编程特征。编程高手们利用这些技巧提高编程速度、改进软件质量,编程初学者能从这些简洁的预防中学到各种编程语言的真谛。本《震惊小伙伴的单行代码系列》将逐一介绍这些各种编程语言单行代码文章,供大家学习参考。
[X * 2 || X <- lists:seq(1, 11)].
lists:sum(lists:seq(1, 1001)).
Wordslist = ["scala", "akka", "play framework", "sbt", "typesafe"].
Tweet = "This is an example tweet talking about scala and sbt".
[lists:member(S, Wordslist) || S <- string:tokens(Tweet, " ")].
file:read_file("ten_one_liners.erl").
["Happy Birthday " ++ case X of 2 -> "dear Robert"; _ -> "You" end || X <- lists:seq(1, 4)].
[X || X <- lists:seq(40, 60), X >= 50].
inets:start().
xmerl_scan:string(element(3, element(2, httpc:request("http://search.twitter.com/search.atom?&q=erlang")))).
lists:min(lists:seq(1, 10)). lists:max(lists:seq(1, 10)).
[spawn(fun() -> io:format("~w~n", [X * 2]) end) || X <- lists:seq(1, 10)].
N = 50. [X || X <- lists:usort(lists:seq(2, N + 1)), not lists:member(X, lists:usort([(P * F) || P <- lists:seq(2, round(math:pow(N, 0.5)) + 2), F <- lists:seq(2, round(N / P))]))].
----------✂-------------------------------------
如果您觉得文章不错,请点击右上角按钮分享到您的朋友圈!
点击阅读原文,访问北京测试空间IT实训基地微官网!
友情链接