मैं कैसे छोटा कर सकता हूं:
p=gets.to_i
a=gets
b=gets.to_i
यदि मेरा इनपुट एक पूर्णांक है, उसके बाद एक स्ट्रिंग है, उसके बाद एक पूर्णांक है?
मैं कैसे छोटा कर सकता हूं:
p=gets.to_i
a=gets
b=gets.to_i
यदि मेरा इनपुट एक पूर्णांक है, उसके बाद एक स्ट्रिंग है, उसके बाद एक पूर्णांक है?
जवाबों:
(अस्वीकरण: मैं रूबी को नहीं जानता, लेकिन यह TIO पर काम करता है )
p,a,b=$*
p=p.to_i
b=b.to_i
30 के बजाय 28 26 बाइट्स ($ * चाल को इंगित करने के लिए स्नैक के लिए धन्यवाद)
आमतौर पर आपके इनपुट / आउटपुट में लैम्बडा के पैरामीटर / रिटर्न वैल्यू होने के साथ लैम्बडा फ़ंक्शन के रूप में उत्तर की अनुमति होती है, इसलिए आप यह कर सकते हैं:
->p,a,b{...}
यदि आपने fइसे एक चर को सौंपा है, तो इसे कहा जाएगा
f[p,a,b]
यह आम तौर पर इनपुट के प्रकारों को मानने के लिए ठीक है, लेकिन सुरक्षित होने के लिए आप अपने उत्तर में इसका उल्लेख कर सकते हैं।
प्रासंगिक इनपुट / आउटपुट विधियों के बारे में प्रासंगिक मेटा पोस्ट
यदि आपको किसी कारणवश stdin / stdout io के साथ पूर्ण कार्यक्रम की आवश्यकता है, तो आप जो सबसे छोटा कर सकते हैं, वह है -nध्वज का उपयोग एक कॉल को छोटा करने के gets.to_iलिए eval$_:
p=eval$_
a=gets
b=gets.to_i
-nध्वज के साथ अपने कोड चारों ओर से घेरे while gets ... endहै, तो अधिक इनपुट अपने कार्यक्रम खपत की तुलना में आपूर्ति की जाती है, तो कार्यक्रम इच्छा पाश।