非常教程

Elixir 1.5参考手册

Integer

Integer

用于处理整数的函数。

功能

digits(integer, base \ 10)

返回给定 integer的有序数字

floor_div(dividend, divisor)

执行泛泛整数除法

gcd(integer1, integer2)

返回两个给定整数的最大公共因子。

is_even(integer)

确定是否integer是偶数

is_odd(integer)

确定integer是否为奇数

mod(dividend, divisor)

计算整数除法的模余数。

parse(binary, base \ 10)

解析整数的文本表示形式。

to_charlist(integer)

返回一个字符列表,该字符列表对应于给定的integer

to_charlist(integer, base)

返回其对应的文本表示charlist integer在给定的base

to_string(integer)

返回对应于文本表示integer的二进制文件

to_string(integer, base)

返回其对应的文本表示二进制integer在给定的base

undigits(digits, base \ 10)

返回由digits顺序表示的整数

digits(integer, base \ 10)

digits(integer, pos_integer) :: [integer, ...]

返回给定的有序数字integer

base可以提供代表返回数字的基数的可选值。这个必须是> = 2的整数。

实例

iex> Integer.digits(123)
[1, 2, 3]

iex> Integer.digits(170, 2)
[1, 0, 1, 0, 1, 0, 1, 0]

iex> Integer.digits(-170, 2)
[-1, 0, -1, 0, -1, 0, -1, 0]

floor_div(dividend, divisor)

floor_div(integer, neg_integer | pos_integer) :: integer

执行泛泛整数除法。

ArithmeticError如果其中一个参数不是整数,或者divisor0,则引发异常。

Integer.floor_div/2执行泛洪整数除法。这意味着,结果总是四舍五入的负无穷大。

如果要执行截断整数除法(向零舍入),请将Kernel.div/2改为使用。

实例

iex> Integer.floor_div(5, 2)
2
iex> Integer.floor_div(6, -4)
-2
iex> Integer.floor_div(-99, 2)
-50

gcd(integer1, integer2)

gcd(integer, integer) :: pos_integer
gcd(0, 0) :: 0

返回两个给定整数的最大公共因子。

该最大公约数(GCD)integer1integer2是最大的正整数,既分割integer1integer2不留余数。

按照惯例,gcd(0, 0)返回0...

实例

iex> Integer.gcd(2, 3)
1

iex> Integer.gcd(8, 12)
4

iex> Integer.gcd(8, -12)
4

iex> Integer.gcd(10, 0)
10

iex> Integer.gcd(7, 7)
7

iex> Integer.gcd(0, 0)
0

is_even(integer) (macro)

确定是否integer是偶数。

如果给定的integer是偶数,返回true;否则返回false

在守卫条款中允许

实例

iex> Integer.is_even(10)
true

iex> Integer.is_even(5)
false

iex> Integer.is_even(-10)
true

iex> Integer.is_even(0)
true

is_odd(integer) (macro)

确定是否integer奇数。

如果给定integer为奇数,返回true;否则返回false

在守卫条款中允许

实例

iex> Integer.is_odd(5)
true

iex> Integer.is_odd(6)
false

iex> Integer.is_odd(-5)
true

iex> Integer.is_odd(0)
false

mod(dividend, divisor)

mod(integer, neg_integer | pos_integer) :: integer

计算整数除法的模余数。

Integer.mod/2使用泛除法,这意味着结果将始终具有divisor...

ArithmeticError如果其中一个参数不是整数,或者divisor0,则引发异常。

实例

iex> Integer.mod(5, 2)
1
iex> Integer.mod(6, -4)
-2

parse(binary, base \ 10)

parse(binary, 2..36) :: {integer, binary} | :error

解析整数的文本表示形式。

任选base为相应的整数可以被提供。如果base没有给出,将使用10。

如果成功,则返回形式为{integer, remainder_of_binary}。否则为:error

如果base小于2或大于36,则发生错误。

如果要将字符串格式的整数直接转换为整数,String.to_integer/1String.to_integer/2可以代替使用。

实例

iex> Integer.parse("34")
{34, ""}

iex> Integer.parse("34.5")
{34, ".5"}

iex> Integer.parse("three")
:error

iex> Integer.parse("34", 10)
{34, ""}

iex> Integer.parse("f4", 16)
{244, ""}

iex> Integer.parse("Awww++", 36)
{509216, "++"}

iex> Integer.parse("fab", 10)
:error

iex> Integer.parse("a2", 38)
** (ArgumentError) invalid base 38

to_charlist(integer)

to_charlist(integer) :: charlist

返回一个字符列表,该字符列表对应于给定的integer...

由编译器内联。

实例

iex> Integer.to_charlist(123)
'123'

iex> Integer.to_charlist(+456)
'456'

iex> Integer.to_charlist(-789)
'-789'

iex> Integer.to_charlist(0123)
'123'

to_charlist(integer, base)

to_charlist(integer, 2..36) :: charlist

返回一个字符列表,该字符列表对应于在给定的整数的基.

base可以是介于2到36之间的整数。

由编译器内联。

实例

iex> Integer.to_charlist(100, 16)
'64'

iex> Integer.to_charlist(-100, 16)
'-64'

iex> Integer.to_charlist(882681651, 36)
'ELIXIR'

to_string(integer)

to_string(integer) :: String.t

返回对应于integer...

由编译器内联。

实例

iex> Integer.to_string(123)
"123"

iex> Integer.to_string(+456)
"456"

iex> Integer.to_string(-789)
"-789"

iex> Integer.to_string(0123)
"123"

to_string(integer, base)

to_string(integer, 2..36) :: String.t

返回与给定基础中的整数文本表示相对应的二进制文件。

base可以是介于2到36之间的整数。

由编译器内联。

实例

iex> Integer.to_string(100, 16)
"64"

iex> Integer.to_string(-100, 16)
"-64"

iex> Integer.to_string(882681651, 36)
"ELIXIR"

undigits(digits, base \ 10)

undigits([integer], integer) :: integer

返回由顺序表示的整数digits

任选base值的基数。这个digits可以是>=2的整数。

实例

iex> Integer.undigits([1, 2, 3])
123

iex> Integer.undigits([1, 4], 16)
20

iex> Integer.undigits([])
0

Integer相关

Elixir 1.5

Elixir 基于 Erlang 虚拟机的函数式、面向并行,是一种较好的编程语言。它以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发。

主页 https://elixir-lang.org/
源码 https://github.com/elixir-lang/elixir
版本 1.5
发布版本 1.5.2