राइट हैंड ब्रेस कोड ब्रैकेटिंग की एक शैली है जिसमें घुंघराले ब्रेस और अर्धविराम सभी को आ फाइल के दाईं ओर एक बिंदु पर संरेखित किया जाता है।
आमतौर पर, यह कई कारणों से, बुरा अभ्यास माना जाता है।
चुनौती
किसी भी विधि के माध्यम से एक बहुस्तरीय स्ट्रिंग लें, और इसे ब्रेस स्टाइल को राइट हैंड ब्रेस में परिवर्तित करें।
इस चुनौती के लिए, आपको केवल जावा कोड पर काम करने की आवश्यकता है, हालांकि, यह सैद्धांतिक रूप से किसी भी कोड पर काम करना चाहिए जो ब्रेसिज़ और सेमरोलोन का उपयोग करता है।
आप सभी {};
वर्णों को एक पंक्ति में पकड़ सकते हैं , उनके बीच किसी भी राशि के व्हाट्सएप के साथ। ईजी। }}
, ; }
}\n\t\t}
और व्हॉट्सएप के उपयोग के माध्यम से फ़ाइल के दाईं ओर उन्हें पंक्तिबद्ध करें।
उदाहरण के लिए:
a {
b;
{c
बन जाना चाहिए
a {
b ;{
c
या, अधिक अमूर्त, किसी भी और सभी व्हाट्सएप को सभी {};
वर्णों के बाईं ओर से दाईं ओर धकेलें ।
लाइनों का इंडेंटेशन अन्यथा संरक्षित किया जाना चाहिए। {};
वर्णों की गति के बाद केवल व्हाट्सएप वाली लाइनें वैकल्पिक रूप से हटाई जा सकती हैं।
उदाहरण के लिए:
a{
b{
c;
}
}
d;
या तो बन सकता है
a {
b {
c;}}
d ;
या
a {
b {
c;}}
d ;
दाईं ओर धकेलने से तात्पर्य उन सभी {};
वर्णों से है जिन्हें सबसे लंबी पंक्ति से कम बिंदु पर संरेखित किया जा रहा है। उसके बाद की कोई भी जगह स्वीकार्य है।
तो सभी नीचे स्वीकार्य है:
a {
bc;
a {
bc ;
a {
bc ;
आदि...
किसी भी कोड की पंक्तियों में {};
अन्य गैर-व्हाट्सएप पात्रों के बीच वर्ण हो सकते हैं , इस मामले को संभालना आवश्यक नहीं है, हालांकि यदि आप इच्छुक हैं, तो आपको उन्हें जगह में छोड़ देना चाहिए। लाइनों में कोई भी {};
वर्ण नहीं हो सकता है , और इसे सही तरीके से संभाला जाना चाहिए। जैसा कि नीचे दिखाया गया है।
a {
b ;
c
d }
क्योंकि हम नहीं चाहते हैं कि हम जो भयानक काम कर रहे हैं, उसे देखने के लिए आपको कोड की समीक्षा करनी पड़े, आपको अपना कोड यथासंभव छोटा बनाना होगा।
उदाहरण / टेस्टकेस
जेनेरिक जावा
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello, World!");
}
}
हो जाता है ...
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!") ;}}
छवि ही
public class Permuter{
private static void permute(int n, char[] a){
if (n == 0){
System.out.println(String.valueOf(a));
}else{
for (int i=0; i<= n; i++){
permute(n-1, a);
swap(a, n % 2 == 0 ? i : 0, n);
}
}
}
private static void swap(char[] a, int i, int j){
char saved = a[i];
a[i] = a[j];
a[j] = saved;
}
}
हो जाता है ...
public class Permuter {
private static void permute(int n, char[] a) {
if (n == 0) {
System.out.println(String.valueOf(a)) ;}
else {
for (int i=0; i<= n; i++) {
permute(n-1, a) ;
swap(a, n % 2 == 0 ? i : 0, n) ;}}}
private static void swap(char[] a, int i, int j) {
char saved = a[i] ;
a[i] = a[j] ;
a[j] = saved ;}}
बिल्कुल परफेक्ट नहीं जेनेरिक पायथन
इसके विपरीत
def Main():
print("Hello, World!");
Main();
हो जाता है ...
def Main():
print("Hello, World!") ;
Main() ;
टिप्पणियाँ
- स्टैंडर्ड लोफॉल्स लागू होते हैं
- स्टैंडर्ड IO लागू होता है
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा कार्यक्रम है!
- मैं राइट हैंड ब्रेस स्टाइल में प्रोग्रामिंग से संबंधित नुकसान के लिए उत्तरदायी नहीं हूं
- मज़े करो!
नोट्स संपादित करें
मैंने चुनौती का विवरण दिया, उम्मीद है कि मैंने नियमों के बारे में किसी के विचार को नहीं तोड़ा, मैं आपको विश्वास दिलाता हूं कि यह अनजाने में था। यह बहुत अधिक स्पष्ट और कम आत्म-विरोधी युक्ति होना चाहिए।
;{}
वर्ण इकट्ठा अगर वे अलग पंक्ति में रहे हैं (यह उदाहरण से ही स्पष्ट है, नियम नहीं है, और वास्तव में अगर एक लाइन के होते हैं में \t}
मतलब होगा खरोज संरक्षण नहीं चलती }
अंत तक पिछली पंक्ति में)
int a=0;System.out.println(a);