我有一个棋牌游戏,我必须使用万灵药。第一个函数叫做readFrom(aString),它将接收一个字符串,然后从中提取变量。 我不想让你在我写的readFrom函数中遇到20个变量,所以我只是简单地为了这个问题。灵药中没有全局变量。如何从一个函数中获取变量并在另一个函数中使用它?
defmodule SnakesAndLadders do
def readFrom(aString) do
x=aString
end
def print() do
IO.inspect x
end
end
所以我只需要知道一个解决方法来获取变量x并将其用于函数print()。有没有可能的方法来做到这一点?谢谢。
为什么你不把它作为一个参数? 'readFrom'和'def print(x)do ... end'中的'print(x)'。 – Dogbert
噢因为实际参数传递将是 “板3名4 玩家2个 骰子1 2 2 2 2 梯子5 11 蛇8 4 通电自动扶梯6 9 通电抗蛇毒7 通电双4 转10” 然后我必须提取每个值到一个变量,例如,板3 4意味着行= 3和列= 4,所以readFrom将提取参数到不同的变量。 –
而不是使用全局变量,考虑使用地图,它会保存所有参数或使用任务从其他函数返回这些数字。不要试图在Elixir中使用OOP思维模式。 – PatNowak