खुला एक फ़ाइल, यह करने के लिए लिखते हैं, और इसे एक पंक्ति में बंद करें:
File.open(File.join(Rails.root, 'lib', 'assets', 'file.txt'), 'a+') {|f| f.write("stuff"+"\n" }
हर दिन लिपियों में
मेरे सबसे अच्छे रूबी एक-लाइनर्स के अधिकांश का उपयोग and
, unless
, if
, &&
और बहुत आगे है, जैसे:
puts "x is nil!" if x.nil?
आप unless
और if
दूसरे के स्थान पर, लेकिन unless
उपयोग कर सकते हैं काफी पठनीयता में सुधार जब सही ढंग से उपयोग किया जाता है:
puts "bad input type!" unless ["bs", "cf", "is"].include?(type)
अक्सर, सबसे अच्छा रूबी एक-लाइनर अंततः दो से तीन पंक्तियों में किया जाता है
def try_first(actual_index)
x = [get_header(actual_index, 0), get_data(actual_index, 0)] unless get_header(actual_index, 0).blank?
x = try_second(actual_index) if x[0].blank? #blank is a rails method, detects nil and empty strings and empty containers ([]) I think too
puts "x is nil!" if x.nil?
x
end
मैं एक-लाइनर्स क्योंकि उस विधि के कई एक-लाइनर्स से बना कहते हैं: एक-लाइनर्स चर के लिए रूबी के "संयोजक" प्रणाली (nil
और false
केवल "नकारात्मक" कर रहे हैं) के साथ अक्सर संयोजन के रूप में, एक साथ काम मेरे कोड में कहीं और एक लाइनर से भी कम है। मेरी कई विधियों में से केवल एक पंक्ति हालांकि:
def get_all_coords(type)
eval("@#{type}_coords")
end
इस तरह आप वास्तव में सुरुचिपूर्ण होने लगते हैं। व्यक्तिगत तरीकों से कोड तोड़ो। एक लाइन विधि सही हैं।
संपादित करें और इसे व्यक्तिपरक होने के लिए बंद कर दिया (कोई वास्तविक जवाब) से बचने के लिए एक समुदाय विकी के रूप में चिह्नित करते हैं, कृपया :) – Matchu
सवाल समुदाय विकी चिह्नित करने के लिए एक समय पहले हटा दिया गया था की क्षमता। इसे देखें: http://meta.stackexchange.com/questions/392/should-the-community-wiki-police-be-shut-down –
मैं उस "सुरुचिपूर्ण" को नहीं कहूंगा, क्योंकि यह लगभग अपठनीय है। यदि कोई अन्य प्रोग्रामर इस कोड से मुकाबला करता है, तो उसे यह जानने के लिए कई मिनट खर्च करना होगा कि वह क्या करने की कोशिश कर रहा है। यह सुरुचिपूर्ण से अधिक गूढ़ है। आपने पठनीयता की कीमत पर कीस्ट्रोक सहेजे हैं। – DOK