मैं पर्ल 5.8 पर हूं और मुझे डिफ़ॉल्ट मान असाइन करने की आवश्यकता है।टर्नरी ऑपरेटर का उपयोग करके असाइन करना?
if ($model->test) {
$review = "1"
} else {
$review = ''
}
$model->test
का मान न तो "1"
या अपरिभाषित होने जा रहा है: मैं यह कर समाप्त हो गया। अगर $model->test
में कुछ है, तो $review
से "1"
पर सेट करें अन्यथा इसे ''
के बराबर सेट करें।
क्योंकि यह पर्ल 5.10 नहीं है, मैं नई swanky परिभाषित या ऑपरेटर का उपयोग नहीं कर सकता। मेरी पहली प्रतिक्रिया इस तरह के टर्नरी ऑपरेटर का उपयोग करना था ...
defined($model->test) ? $review = "1" : $review = '';
लेकिन यह भी काम नहीं करता था।
क्या किसी को यह पता है कि इसे और अधिक कुशलता से कैसे असाइन किया जाए?
$review = (defined($model->test) ? 1 : '');
जहाँ कोष्ठक अन्य लोगों कोड को पढ़ने के लिए स्पष्टता के लिए कर रहे हैं: जेनी
आप वास्तव में स्थापित करना चाहिए यह करने के लिए '1' नहीं करने के लिए' '' '। दोनों में एक ही स्ट्रिंग प्रतिनिधित्व ('''') है। केवल अंतर यह है कि अगर आप इसे एक संख्या के रूप में उपयोग करने का प्रयास करते हैं, तो '' 'चेतावनी देगा, जहां '! 1' नहीं होगा। (मान लीजिए कि आपके पास हमेशा पर्ल कोड के प्रत्येक टुकड़े के शीर्ष पर 'चेतावनियों का उपयोग करें'; आपको –