私はエリクシールを使用しなければならないボードゲームを持っています。最初の関数はreadFrom(aString)と呼ばれ、文字列を受け取り、そこから変数を抽出します。 私が書いたreadFrom関数内の20個の変数であなたを退屈にしたくないので、質問のために単純にします。エリキシル剤にはグローバル変数はありません。ある関数から変数を取り出して別の関数で使用する方法は?
defmodule SnakesAndLadders do
def readFrom(aString) do
x=aString
end
def print() do
IO.inspect x
end
end
変数xを取得して関数print()に使用するには、回避策を知る必要があります。これを行う方法はありますか?ありがとう。これは、これを実現する最も簡単な方法でしょう
defmodule SnakesAndLadders do
def readFrom(aString) do
x=aString
print(x)
end
def print(s) do
IO.inspect s
end
end
:
なぜあなたはそれを引数として渡すのですか? 'readFrom'と' def print(x)do ... end'で 'print(x)'を実行します。 – Dogbert
ああ実引数があろう渡さため "ダブル4 基板3 4 プレーヤー2つの ダイス1 2 2 2 2 ラダー5 11 蛇8 4 パワーアップエスカレータ6~9 パワーアップ抗毒素7 パワーアップ10をオン"そして、私は変数に各値を抽出する必要があります。たとえば、ボード3 4は行= 3と列= 4を意味します。したがって、readFromは引数を異なる変数に抽出します。 –
グローバル変数を使用する代わりに、mapを使用することを検討してください。これは、すべての引数を保持するか、Taskを使用してこれらの数値を他の関数から返します。 ElixirでOOPの考え方を使用しようとしないでください。 – PatNowak