পাওয়ারশেলে বুলিয়ান লিটারেলগুলি কী কী?
পাওয়ারশেলে বুলিয়ান লিটারেলগুলি কী কী?
উত্তর:
$true
এবং $false
।
যদিও এটি ধ্রুবক। বুলিয়ানদের জন্য কোনও ভাষা-স্তরের আক্ষরিক নেই।
আপনার যেখানে প্রয়োজন তাদের উপর নির্ভর করে, আপনি বুলিয়ান মানকে কোয়ার্স করে এমন কিছু ব্যবহার করতে পারেন , যদি টাইপটি বুলিয়ান করতে হয়, যেমন মেথড কলগুলিতে বুলিয়ান প্রয়োজন (এবং কোনও বিরোধী ওভারলোড নেই), বা শর্তসাপেক্ষ বিবৃতি। উদাহরণস্বরূপ, বেশিরভাগ নন-নাল বস্তু সত্য। null
, খালি স্ট্রিং, খালি অ্যারে এবং সংখ্যাটি 0
মিথ্যা।
[bool]1
এবং [bool]0
কাজ করে।
if ($s.Length) { ... }
উদাহরণস্বরূপ, পুরোপুরি ঠিক আছে।
ইতিমধ্যে বিদ্যমান উত্তরগুলিতে আরও তথ্য যুক্ত করতে : বুলিয়ান লিটারালগুলি $true
এবং $false
পাওয়ারশেল (পিএস) স্ক্রিপ্টগুলির জন্য কমান্ড লাইন প্যারামিটার হিসাবে ব্যবহৃত হওয়ার পরেও কাজ করে। নীচের পিএস স্ক্রিপ্টের জন্য যা নামের একটি ফাইলে সঞ্চিত রয়েছে installmyapp.ps1
:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
এখন যদি আমি এই পিএস ফাইলটি পিএস কমান্ড লাইন থেকে প্রার্থনা করি তবে আমি এটি এটি করতে পারি:
installmyapp.ps1 -cleanuprequired $true
অথবা
installmyapp.ps1 -cleanuprequired 1
এখানে 1
এবং $true
সমতুল্য। এছাড়াও, 0
এবং $false
সমতুল্য।
দ্রষ্টব্য : কখনও আশা করবেন না যে স্ট্রিং লিটারাল true
স্বয়ংক্রিয়ভাবে বুলিয়ানতে রূপান্তরিত হতে পারে। উদাহরণস্বরূপ, যদি আমি নীচের কমান্ডটি চালাই:
installmyapp.ps1 -cleanuprequired true
এটি নীচের ত্রুটি সহ স্ক্রিপ্টটি কার্যকর করতে ব্যর্থ:
'পরিচ্ছন্নতাযুক্ত' প্যারামিটারে যুক্তি রূপান্তর প্রক্রিয়া করতে পারে না। "সিস্টেম.স্টুলিং" মানটিকে "সিস্টেম.বুলিয়ান" টাইপ করতে রূপান্তর করতে পারে না। বুলিয়ান প্যারামিটারগুলি কেবল বুলিয়ান মান এবং সংখ্যা গ্রহণ করে, যেমন $ সত্য, $ মিথ্যা, 1 বা 0।