एक और उपयोगी है इसके लिए मामला - एक फ़ंक्शन या विधि को कॉल करते समय मध्यवर्ती चर का उन्मूलन जो शून्य लौटा सकता है, कि हम दो बार कॉल करने से बचना चाहते हैं। उदाहरण के लिए (उद्देश्य-सी), मान लीजिए कि अगर हम मौजूद हैं तो हम किसी फ़ाइल को सरणी में अनपैक करना चाहते हैं, अन्यथा खाली सरणी लौटाएं।
- (NSArray*)hydrateBacklogFromFile:(NSString *path)
{
NSArray *backlog = @[];
NSData *backlogData = [NSData dataWithContentsOfFile:path];
if (backlogData)
{
backlog = [NSKeyedUnarchiver unarchiveObjectWithData:backlogData] ?: backlog;
}
return backlog;
}
विकल्प कम संक्षिप्त हैं।
- (NSArray*)hydrateBacklogFromFile:(NSString *path)
{
NSArray *backlog = @[];
NSData *backlogData = [NSData dataWithContentsOfFile:path];
if (backlogData)
{
NSArray *tempArray = [NSKeyedUnarchiver unarchiveObjectWithData:backlogData];
if (tempArray != nil)
{
backlog = tempArray;
}
}
return backlog;
}
या साथ भद्दा कई रिटर्न आदि
- (NSArray*)hydrateBacklogFromFile:(NSString *path)
{
NSData *backlogData = [NSData dataWithContentsOfFile:path];
if (backlogData)
{
NSArray *tempArray = [NSKeyedUnarchiver unarchiveObjectWithData:backlogData];
if (tempArray != nil)
{
return tempArray;
}
}
return @[];
}
तो यह उपयोगी वाक्यात्मक चीनी कि मैं काफी पठनीय खोजने के लिए है। डाउनसाइड्स
एक पॉइंटर को एक बूल में लागू रूपांतरण। यह एक लंबे समय से सी सम्मेलन है, लेकिन अधिकांश आधुनिक भाषाएं इसे अस्वीकार करती हैं, किसी भी पोर्टिंग प्रयासों को जटिल बनाती हैं।
जैसा कि अन्य ने कहा है कि यह एक गैर-मानक विस्तार भी है, इसलिए से बचा जाना चाहिए यदि पोर्टेबिलिटी बिल्कुल विचार कर रही हो।
स्रोत
2016-04-22 17:00:31
रुको, क्या ?! ... यह मेरे लिए एक बग की तरह दिखता है। –
@ कोनराड - शायद नहीं। टिप्पणी से पता चलता है कि रेखा डिफ़ॉल्ट सेट करती है - यदि "max_cpus सेट नहीं है, तो डिफ़ॉल्ट मान सेट करें"। – Mac
यदि यह कानूनी है, तो मैं इससे बचूंगा क्योंकि ऐसा लगता है कि यह एक बग हो सकता है। यहां हम इसके बारे में एक बड़ी चर्चा कर रहे हैं, यह साबित करते हुए कि अगर यह कथन का उपयोग करने के लिए स्पष्ट होगा। –