Clojure教程-数学计算
本文包含了使用Clojure的内建函数,扩展包和部分JDK功能进行数学计算.
版权:
This work is licensed under a Creative Commons Attribution 3.0 Unported License (including images & stylesheets). The source is available on Github.
准备
这里的一些例子使用了math.numeric-tower和math.combinatorics库.所以需要 你在代码的命名空间中包含如下代码:
(:require [clojure.math.numeric-tower :as math]
[clojure.math.combinatorics :as combo])
或者在REPL里载入:
(require '[clojure.math.numeric-tower :as math])
(require '[clojure.math.combinatorics :as combo])
方法
简单计算
(+ 3 4) ;=> 7
(- 3 4) ;=> -1
(* 3 4) ;=> 12
(/ 3 4) ;=> 3/4 (an exact ratio)
(/ 3.0 4) ;=> 0.75
(inc 5) ;=> 6
(dec 5) ;=> 4
想要计算整数的除法,取余和取模,请看quot,rem,mod 想计算指数的平方根,四舍五入,上下限,绝对值和最大公约数/最小公倍数,请看math.numeric-tower
三角函数
使用Java平台提供的函数:
Math/PI ;=> 3.14159...
(Math/sin x)
(Math/cos x)
(Math/tan x)
还有很多的函数,你可以查看java.lang.Math
组合数学
对于组合数学相关函数(比如:combinations和permutations),请看math.combinatorics