2016-03-24 10 views
5

私がしようとした:ElixirでPIDを印刷するにはどうしたらいいですか?

pid = spawn fn -> 1 + 2 end 
IO.puts(pid) 
IO.puts(IO.inspect(pid)) 

との両方

** (Protocol.UndefinedError) protocol String.Chars not implemented for #PID<0.59.0> 

与えREPLを印刷するので、pidの "#PID < 0.59.0>" の表現を取得する方法がなければなりませんその#PID<0.59.0>

答えて

7

あなたはIO.putsへの呼び出しでIO.inspectをラップする必要はありません。単にIO.inspectに電話するだけで、あなたが探していることができます。

pid = spawn fn -> 1 + 2 end 
IO.inspect(pid) 
5

inspectを使用していますが、IO.inspect/2Kernel.inspect/2があります。私のための第二作品:

pid = spawn fn -> 1 + 2 end 
IO.puts(inspect(pid)) 
+6

自己を()を使用します。 'IO.inspect'は単に' IO.puts(Kernel.inspect(x)) ' –

+2

です。単純に' IO.inspect(pid) 'は動作します。 – CoderDennis

-1

はちょうどあなたが `inspect`を使用して、ほとんど何も印刷することができ

pid = self() IO.inspect(pid)

関連する問題