Elixir Language
प्रक्रियाओं
खोज…
एक साधारण प्रक्रिया पैदा करना
निम्नलिखित उदाहरण में, greet
मॉड्यूल के अंदर Greeter
फ़ंक्शन एक अलग प्रक्रिया में चलाया जाता है:
defmodule Greeter do def greet do IO.puts "Hello programmer!" end end iex> spawn(Greeter, :greet, []) Hello #PID<0.122.0>
यहां #PID<0.122.0>
प्रक्रिया के लिए प्रक्रिया पहचानकर्ता है।
संदेश भेजने और प्राप्त करने
defmodule Processes do
def receiver do
receive do
{:ok, val} ->
IO.puts "Received Value: #{val}"
_ ->
IO.puts "Received something else"
end
end
end
iex(1)> pid = spawn(Processes, :receiver, [])
#PID<0.84.0>
iex(2)> send pid, {:ok, 10}
Received Value: 10
{:ok, 10}
पुनरावृत्ति और प्राप्त करें
कई संदेशों को प्राप्त करने के लिए पुनरावर्तन का उपयोग किया जा सकता है
defmodule Processes do
def receiver do
receive do
{:ok, val} ->
IO.puts "Received Value: #{val}"
_ ->
IO.puts "Received something else"
end
receiver
end
end
iex(1)> pid = spawn Processes, :receiver, []
#PID<0.95.0>
iex(2)> send pid, {:ok, 10}
Received Value: 10
{:ok, 10}
iex(3)> send pid, {:ok, 42}
{:ok, 42}
Received Value: 42
iex(4)> send pid, :random
:random
Received something else
अमृत एक पूंछ-कॉल पुनरावृत्ति अनुकूलन का उपयोग करेगा जब तक कि फ़ंक्शन कॉल अंतिम चीज है जो फ़ंक्शन में होती है जैसा कि उदाहरण में है।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow