Elixir:
הדפסת פלט לניפוי באגים
How to (איך לעשות:)
ב-Elixir, אפשר להשתמש בפונקציה IO.inspect
כדי להדפיס מידע לדיבאגינג:
defmodule Example do
def who_is_it?(name) do
name
|> String.upcase()
|> IO.inspect(label: "Name in uppercase")
end
end
Example.who_is_it?("elixir")
פלט דוגמה:
Name in uppercase: "ELIXIR"
IO.inspect
מחזירה את הערך שהיא מדפיסה, אז תוכל לשרשר אותה בתוך פייפליינים.
Deep Dive (לעומק המים)
בעולמות התכנות העתיקים, כמו ב-C, היינו משתמשים ב-printf
לדיבאגינג. ב-Elixir, IO.inspect
הפך לכלי העדיף מאחר והוא מחזיר את הערך ותופס פחות מקום. במקום IO.inspect
, יש גם את Logger, שמאפשר לוגינג מפורט יותר עם רמות שונות. בחירה בין השניים תלויה בצורך: IO.inspect
לבדיקות מהירות, Logger למעקב אחר מערכת שלמה.
See Also (ראו גם)
- Elixir
IO
Module Documentation - Elixir
Logger
Module Documentation - Programming Elixir - ספר המכיל דיונים יסודיים על כלים לדיבאג ולניטור הרצת קוד.
- The Pragmatic Programmer - מובאים שיטות וטכניקות כלליות לתכנות אפקטיבי ובטוח, כולל דיבאגינג.