我想返回一个范围是3或5的倍数的列表/集合.
在Ruby中,我会这样做
(1..1000).select {|e| e % 3 == 0 || e % 5 == 0}
Run Code Online (Sandbox Code Playgroud)
在Clojure中,我想我可能会做类似...
(select (mod 5 ...x?) (range 0 1000))
Run Code Online (Sandbox Code Playgroud)
(filter #(or (zero? (mod % 3)) (zero? (mod % 5))) (range 1000))
Run Code Online (Sandbox Code Playgroud)
小智 5
另一种方法是生成解决方案,而不是过滤它:
(set (concat (range 0 1000 3) (range 0 1000 5)))
Run Code Online (Sandbox Code Playgroud)