我有一個棋牌遊戲,我必須使用萬靈藥。第一個函數叫做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