【发布时间】:2018-03-25 00:56:32
【问题描述】:
在 Ruby 中,我可以通过"Hello"[0] #=> "H" 轻松获取字符串的第 n 个元素。
我知道 Elixir 中的 String.slice/3,我可以这样做:String.slice("Hello", 0..0)。这个方法看起来有点冗长,有没有更短的方法可以在 Elixir 中获取字符串的第 n 个元素?
【问题讨论】:
在 Ruby 中,我可以通过"Hello"[0] #=> "H" 轻松获取字符串的第 n 个元素。
我知道 Elixir 中的 String.slice/3,我可以这样做:String.slice("Hello", 0..0)。这个方法看起来有点冗长,有没有更短的方法可以在 Elixir 中获取字符串的第 n 个元素?
【问题讨论】:
要将第 n 个字素作为字符串,您可以使用 String.at/2:
iex(1)> String.at "hello", 2
"l"
iex(2)> String.at "πr²", 2
"²"
要获取第n个字节为整数,可以使用:binary.at/2:
iex(3)> :binary.at "hello", 2
108
iex(4)> <<108>>
"l"
iex(5)> :binary.at "πr²", 2
114
iex(6)> <<114>>
"r"
【讨论】: