我是 Elixir 新手,正在尝试从函数中获取随机字母。
我正在尝试定义一个返回 a 和 z 之间的随机字母的函数。
由于某种原因,有时会返回空白字符。 为什么?
defp random_letter do
"abcdefghijklmnopqrstuvwxyz"
|> String.split("")
|> Enum.random
end
def process do
Enum.each(1..12, fn(number) ->
IO.puts random_letter
end)
end
输出:
g
m
s
v
r
o
m
x
e
j
w
最佳答案
String.split("abcdefghijklmnopqrstuvwxyz", "")
返回
["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", ""]
查看列表中的最后一个元素,您就会得到答案:)
为了避免这种情况,您可以使用 trim
选项,如下所示:
String.split("abcdefghijklmnopqrstuvwxyz", "", trim: true)
关于string - 随机字母返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38567393/