जैसा कि इस उदाहरण में दिखाया गया है, मैं एक टर्नरी अभिव्यक्ति का उपयोग कर रहा हूं:
$a = 1
$x = if ($a -eq 1) { "one" } else {"not one" }
$t = "The answer is: " + $x
write-host $t
यह मेरी अपेक्षा के अनुरूप काम करता है। हालाँकि, मैं अपनी वास्तविक स्थिति में क्या करना चाहता हूँ, यह कि मैं ऐसा कर सकता हूँ, जैसे कि $t
अभिव्यक्ति को असाइन करने के पहले मध्यवर्ती चरण के बिना सीधे असाइन $x
करना है:
$a = 1
$t = "The answer is: " + (if ($a -eq 1) { "one" } else {"not one" })
write-host $t
हालाँकि, मुझे असाइनमेंट लाइन पर एक त्रुटि मिलती है,
if : The term 'if' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:31
+ $t = "The answer is: " + (if ($a -eq 1) { "one" } else {"not one" ...
+ ~~
+ CategoryInfo : ObjectNotFound: (if:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
(मैंने (...)
कोष्ठक के बिना कोशिश की है: एक ही त्रुटि।) स्पष्ट रूप से मैं कुछ गलत कर रहा हूं, लेकिन मेरा गूगल-फू आज मदद नहीं कर रहा है। मैं देख सकता हूं कि कैसे स्थिरांक और चर को समेटना है , लेकिन कुछ भी नहीं समझा जाता है कि कैसे स्थिरांक और अभिव्यक्तियों को संक्षिप्त करना है।
क्या आप मुझे सही दिशा में इंगित कर सकते हैं, कृपया?
if()
एक अभिव्यक्ति नहीं है; इस संदर्भ में भी यह वास्तव में एक बयान है? मेरे लिए यह बल्कि उल्टा है, लेकिन मैं वास्तव में अधिक जानकारी के लिए संकेत की सराहना करता हूं। (मैं Unix / Linux के वर्ष (अन) सी, पर्ल, और यहां तक कि वीबी के स्वस्थ खुराक के साथ मिश्रित से Powershell पर आ रहा हूँ।)