লুয়ায় যে কোনও উপায়ে ইনলাইন অবস্থার ব্যবহার আছে?
যেমন:
print("blah: " .. (a == true ? "blah" : "nahblah"))
উত্তর:
নিশ্চিত:
print("blah: " .. (a and "blah" or "nahblah"))
(cond and false-value or x)এর ফলে xসব ক্ষেত্রেই এর ফলাফল আসবে ।
a and false or trueএকই উত্তর দেয় না যে not a। এই আইডিয়ামটি সাধারণত এমন ক্ষেত্রে ব্যবহৃত হয় যেখানে পছন্দসই মানটি যদি aসত্য হয় না হতে পারে falseবা nil।
a and assert(b) or c।
যদি a and t or fকাজটি আপনার পক্ষে কাজ করে না, আপনি সর্বদা একটি ফাংশন তৈরি করতে পারেন:
function ternary ( cond , T , F )
if cond then return T else return F end
end
print("blah: " .. ternary(a == true ,"blah" ,"nahblah"))
অবশ্যই, তারপরে আপনার কাছে ড্র ফিরে এসেছে যে টি এবং এফ সবসময় মূল্যায়ন করা হয় .... এটি পেতে আপনার বার্ষিক ফাংশনটিতে আপনাকে ফাংশন সরবরাহ করতে হবে, এবং এটি অনর্থক হতে পারে:
function ternary ( cond , T , F , ...)
if cond then return T(...) else return F(...) end
end
print("blah: " .. ternary(a == true ,function() return "blah" end ,function() return "nahblah" end))
tহয় nil।