`debug` ফাংশন ব্যবহারের কিছু টিপস
jq-এর সাথে একটি সুবিধাজনক debug ফিল্টার আছে।
আপনার অনুশীলনীর সমাধান তৈরি করার সময় বর্তমানে jq পাইপলাইনে থাকা ডেটা দেখতে এটি ব্যবহার করুন।
debug stderr-এ একটি "ডিবাগ অ্যারে" প্রিন্ট করে।
এটি ইনপুট অপরিবর্তিত রেখে আউটপুট দেয়।
অ্যারের প্রথম এলিমেন্টটি "DEBUG:" স্ট্রিং।
দ্বিতীয় এলিমেন্টটি নির্ভর করে আপনি কীভাবে debug কল করেন তার উপর।
শূন্য-আর্গুমেন্টের debug ফাংশনটি ইনপুটের একটি সংক্ষিপ্ত রূপ ডিবাগ অ্যারেতে রাখে:
jq -n '[11, 22, 33] | debug | map(. * 2)'
আউটপুট দেয়
["DEBUG:",[11,22,33]]
[
22,
44,
66
]
এক-আর্গুমেন্টের সংস্করণটি ইনপুটটিকে প্রদত্ত ফিল্টারের মধ্য দিয়ে পাঠায়:
jq -n '[11, 22, 33] | debug("length: \(length), last: \(.[-1])") | map(. * 2)'
["DEBUG:","length: 3, last: 33"]
[
22,
44,
66
]
ফিল্টারটি স্ট্রিং হওয়ার দরকার নেই। এটি যেকোনো কিছু হতে পারে, এমনকি "মাল্টি-লাইন" ডিবাগ আউটপুটের জন্য একাধিক কমা-বিভক্ত এক্সপ্রেশনও:
jq -n '[11, 22, 33] as $a | 44 | debug("I am here:", $a, .)'
["DEBUG:","I am here:"]
["DEBUG:",[11,22,33]]
["DEBUG:",44]
44