इसका उत्तर छोटा होने की संभावना है, लेकिन मैंने आधे घंटे बिताए हैं और अभी भी इसे काम नहीं कर सकते हैं।हैशटेबल मान वाले पावरहेल स्ट्रिंग को स्वरूपित करना
मान लें मैं एक निम्न hashtable है:
$hash = @{face='Off';}
मैं क्या करने की कोशिश की, उत्पादन "चेहरे" का मान ओर के साथ कुछ अन्य स्ट्रिंग तत्व है।
यह काम करता है:
Write-Host Face $hash['face']
=> Face Off
बहरहाल, यह नहीं करता है:
Write-Host Face/$hash['face']
=> Face/System.Collections.Hashtable[face]
किसी तरह एक स्थान की कमी ऑपरेटर पूर्वता को प्रभावित किया है - यह अब एक स्ट्रिंग के रूप में $ हैश मूल्यांकन कर रही है, बाद में [चेहरे] concatenating।
इस पूर्वता समस्या को हल करने की कोशिश कर रहा है, मैं करने की कोशिश की:
Write-Host Face/($hash['face'])
=> Face/ Off
मैं अब एक अतिरिक्त स्थान मैं नहीं करना चाहती है। यह काम करता है, लेकिन मैं तो बस पुन: असाइन करने के लिए अतिरिक्त लाइन नहीं करना चाहती:
$hashvalue = $hash['face']
write-host Face/$hashvalue
=> Face/Off
किसी भी विचार कैसे एक एक लाइनर के रूप में इस काम के पाने के लिए?
उपसूचक यहां महत्वपूर्ण था ($ में बंद())। मैं उनकी भूमिका के बारे में बेहद जागरूक था, लेकिन यहां प्रयोज्यता को याद किया था। – llevera
दूसरों को जवाब देने का मौका देने के लिए अस्वीकार्य। ब्लॉक – llevera