我有一个桌面游戏,我必须使用灵药。第一个函数叫做readFrom(aString),它将接受一个字符串,然后从中提取变量。 我不想让你厌倦了我写的readFrom函数中的20个变量,所以我只是为了这个问题而让它变得简单。
defmodule SnakesAndLadders do
def readFrom(aString) do
x=aString
end
def print() do
IO.inspect x
end
end
所以我只需要知道一个解决方法来获取变量x并将其用于函数print()。有没有办法做到这一点?谢谢。
答案 0 :(得分:2)
根据您发布的示例代码:
defmodule SnakesAndLadders do
def readFrom(aString) do
x=aString
print(x)
end
def print(s) do
IO.inspect s
end
end
这是实现这一目标的最简单方法。不要依赖全局变量 - 将值传递给函数。
鉴于您的评论,您可能希望在readFrom函数中执行以下操作:
def readFrom("board " <> row column <> rest = aString) do
{row,column}
end
假设aString以"board "
开头。但是通过模式匹配来分解字符串的概念是很多要进入的,所以我将把它留给你进一步研究。