在我看來,IO.puts
和IO.inspect
都用於打印到控制檯。他們有什麼區別?IO.puts vs IO.inspect
4
A
回答
4
添加到以前的答案,IO.inspect
可以打印任意靈藥來看,隨着含label:
和值初始化Inspect.Opts結構可選關鍵字列表:
@spec inspect(item, Keyword.t) :: item when item: var
IO.puts
需要的參數是一個字符串,或實現String.Chars
協議一個結構:
@spec puts(device, chardata | String.Chars.t) :: :ok
3
通過Elixir文檔閱讀,它看起來像IO.puts/2
只是要編寫並追加一個換行符。
IO.inspect/2
會做同樣的事情,但它也返回第一個值不變(因此它是可鏈接的),啓用漂亮的打印/裝飾和其他格式選項。
友情提醒hexdocs可真真棒。我能夠輕鬆找到問題的答案,並親自了解這些差異。我強烈建議您閱讀通常使用的模塊,以發現您可能不知道的其他可能從中受益的功能。
相關問題
- 1. 瞭解使用Elixir的IO.puts
- 2. 爲什麼IO.puts不適用於Enum.each中的派生?
- 3. vs vs 2008 vs vs 2010
- 4. 如何在Elixir控制檯輸出中獲取行號
- 5. 如何在Elixir中打印PID?
- 6. Exec的VS ExecWait VS ExecShell VS nsExec :: Exec的VS nsExec :: ExecToLog VS nsExec :: ExecToStack VS ExecDos VS ExeCmd
- 7. FTP vs SFTP vs HDFS vs NTFS vs EXT2,EXT3
- 8. VS VS VS VS 11中的MVC測試
- 9. CGL vs AGL vs OpenGL vs NSOpenGL vs CoreAnimation(CALayer)
- 10. MobileNet VS SqueezeNet VS ResNet50 VS啓V3 VS VGG16
- 11. NTOSKRNL.EXE VS NTKRNLMP.EXE VS NTKRNLPA.EXE VS NTKRPAMP.EXE
- 12. VS 2008 vs VS 2008 Express
- 13. RailwayJS vs Geddy vs Express vs Socket.IO
- 14. .NET vs ASP.NET vs CLR vs ASP
- 15. DynamicProperty vs MutableProperty vs AnyProperty vs ConstantsProperty
- 16. codendi vs redmine vs Retrospectiva vs trac
- 17. body.scrollTop VS documentElement.scrollTop VS window.pagYOffset VS window.scrollY
- 18. Asp.net vs Html5 vs xml vs xhtml
- 19. Sleep VS alarmManager.set VS alarmManager.setRepeat VS Handler
- 20. Atomikos vs JOTM vs Bitronix vs?
- 21. inline vs __inline vs __inline__ vs __forceinline?
- 22. JRuby:import vs include vs java_import vs include_class
- 23. VS 2013 MSTest vs nUnit vs xUnit
- 24. SDI vs MDI vs TDI vs?
- 25. `Math.trunc` vs`| 0` vs`<<0` vs `>> 0` vs`&-1` vs`^ 0`
- 26. Stackpanel:高度vs ActualHeight vs ExtentHeight vs ViewportHeight vs DesiredSize vs RenderSize
- 27. LinkedBlockingQueue vs vs offer
- 28. MPAPI vs MPI.NET vs?
- 29. &vs *和| vs +
- 30. Quartz.NET vs JAMS vs?
「任意酏劑術語」 - 不是任意的,只有那些誰執行['Inspect.Algebra'](H載荷大小://github.com/elixir-lang/elixir/blob/v1.4.4/lib/elixir/lib/io.ex#L293)。 – mudasobwa
'Inspect.Algebra'只是一個使用'Inspect'協議的模塊。 Inspect協議似乎是針對所有內置類型和結構的通用實現實現的(https://github.com/elixir-lang/elixir/blob/master/lib/elixir/lib/inspect.ex) –
的確,相反,是的。 – mudasobwa