字符串与二进制
单引号字符串会被表示成整数值列表。
?c返回字符 c 的整数编码。下面这个例子用于解析字符列表表示法,该表示法用于表示一个任意的有符号的十进制数据。
defmodule Parse do def number([ ?- | tail ]) do _number_digits(tail, 0) * -1 end def number([ ?- | tail ]) do _number_digits(tail, 0) end def number(str) do _number_digits(str, 0) end defp _number_digits([], value), do: value defp _number_digits([ digit | tail ], value) when digit in '0123456789' do _number_digits(tail, value * 10 + digit - ?0) end defp _number_digits([ non_digit | _ ], _) do raise "Invalid digit '#{[non_digit]}'" end end
双引号字符串是二进制型