"Cowsay" संक्षेप में [बंद]


12

cowsayडिफ़ॉल्ट मोड में अनुकरण करें।

$ cowsay <<< Hello
 _______
< Hello >
 -------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

$ perl -e 'print "Long text "x20' | cowsay
 __________________________________________
/ Long text Long text Long text Long text  \
| Long text Long text Long text Long text  |
| Long text Long text Long text Long text  |
| Long text Long text Long text Long text  |
\ Long text Long text Long text Long text  /
 ------------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

कोड कितना छोटा हो सकता है? गाय और गुब्बारा थोड़ा अलग हो सकता है, लेकिन सभी तत्व मौजूद होने चाहिए। डायनामिक / मल्टीलाइन बैलून एक प्लस है।

आवश्यक तत्वों की स्पष्ट सूची:

  • पाठ;
  • गुब्बारा;
  • गाय से गुब्बारे तक लाइन;
  • गाय (आँख [s], महीना, कान, शरीर, पैर (न्यूनतम दो), ऊद, पूंछ)।

/usr/share/cowsay/cows/पहुँचा जा सकता है, लेकिन स्पष्ट रूप से /usr/games/cowsayस्वयं नहीं ।

नोट: यहाँ /usr/share/cowsay/cows/default.cowफ़ाइल है:

$the_cow = <<"EOC";
        $thoughts   ^__^
         $thoughts  ($eyes)\\_______
            (__)\\       )\\/\\
             $tongue ||----w |
                ||     ||
EOC

फ़ाइल का उपयोग वैकल्पिक है। जब उपयोग किया जाता है, तो इसे पूर्ण पथ द्वारा एक्सेस किया जाना चाहिए। (विंडोज उपयोगकर्ता इसे C:\usr\share\cowsay\co\default.cowनिष्पक्षता के लिए कुछ इस तरह कॉपी कर सकते हैं )।


मैं इसे ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि प्रारूप के लिए विनिर्देश अत्यंत गैर-वर्णनात्मक है, जो आउटपुट की वैधता को निर्धारित करना असंभव बनाता है।
मेगो

जवाबों:


26

गणितज्ञ: कार्य प्रगति पर है

मैं गाय को बसाने के लिए एक बार गुब्बारे को पिन कर दूंगा:

ExampleData[{"Geometry3D", "Cow"}]

यहाँ छवि विवरण दर्ज करें


12
इससे आज मेरा काम बन गया।
अनुचर

बाहाहाहाहाहाहा
जामिलाक

7
... क्या यह अभी तक किया गया है?
no --zɐɹƆ

उस गुब्बारे पर कोई और विकास?
टेलर स्कॉट

16

पर्ल, 84 अक्षर

print$a='-'x52,<>=~s/.{1,50}\b/sprintf"
|%-50s|",$&/rge,"$a
\\   
]:p
| )=
| P= 
 ¬"

आउटपुट:

----------------------------------------------------
|Long text Long text Long text Long text Long text |
|Long text Long text Long text Long text Long text |
|Long text Long text Long text Long text Long text |
|Long text Long text Long text Long text Long text |
----------------------------------------------------
\   
]:p
| )=
| P= 
 ¬

बेशक, मैंने गाय को उतना ही गोल्फ दिया जितना मैंने कोड को गोल्फ में लगाया। लेकिन Mathematica गाय वैसे भी जीतने वाली है :)

नोट:/r गैर-विनाशकारी प्रतिस्थापन ध्वज के लिए पर्ल 5.16 की आवश्यकता है ।


आप हमें खुश क्या है कि बता सकते हैं rके बाद s///? दस्तावेज में ऐसा झंडा नहीं मिल सकता है। धन्यवाद।
मैनटवर्क

3
Upvoted। हर कोई यह कहने के लिए पर्याप्त बहादुर नहीं है कि "एक गाय"
डॉ। बेलिसरियस

1
गाय को देखने के लिए अपने सिर को झुकाएं।
वि।

@manatwork rफ्लैग का परिणाम देता है, बदले में ऑपरेंड को संशोधित करने के बजाय ( <>निश्चित रूप से केवल-पढ़ने के लिए है, और इसे संशोधित नहीं किया जा सकता है)।
प्रिमो

स्पष्टीकरण के लिए धन्यवाद, Vi। @belisarius, यह एक हो जाता है Dachshund नज़र यहाँ क्योंकि line-height: 1.4emकोड ब्लॉक के लिए सेट है, लेकिन टर्मिनल में बेहतर लग रहा है।
manatwork

5

रूबी: 152 150 149 146 143 अक्षर

load'/usr/share/cowsay/cows/default.cow'
p=%w{U~ o* o o}
puts l=?-*44,gets.gsub(/(.{1,40})\b\s*/){"( %-41s)\n"%$1}+l,$the_cow.gsub(/\$\w+/){p.pop}

गाय कला को डिफॉल्ट.cow फ़ाइल से पढ़ा जाता है और एक cowthink -e 'o*' -T 'U~'मंगलाचरण के समान 12-राउंड-बनाम-माइक-टायसन तरीके से सजाया जाता है ।

पाठ को मानक इनपुट से पढ़ा जाता है और अधिकांश 40 अक्षरों में लपेटा जाता है। इनपुट टेक्स्ट में लाइन ब्रेक समर्थित नहीं हैं।

नमूना रन:

bash-4.2$ perl -e 'print "Long text "x15' | ruby cow.rb 
--------------------------------------------
( Long text Long text Long text Long text  )
( Long text Long text Long text Long text  )
( Long text Long text Long text Long text  )
( Long text Long text Long text            )
--------------------------------------------
        o   ^__^
         o  (o*)\_______
            (__)\       )\/\
             U~ ||----w |
                ||     ||

कला झुकने के साथ: 138 135 136 अक्षर

load'/usr/share/cowsay/cows/default.cow'
puts l=?-*44,gets.gsub(/(.{1,40})\b\s*/){"( %-41s)\n"%$1}+l,$the_cow.gsub(/\$.+?([use]+)\b/,'\1')

जैसा कि तत्वों को अभी मौजूद होना है, हम यथार्थवादी लोगों को परिभाषित करने के बजाय हमारे पास जो कुछ भी है उसका उपयोग कर सकते हैं।

नमूना रन:

bash-4.2$ ruby cow.rb <<< 'Hello poor little cow'
--------------------------------------------
( Hello poor little cow                    )
--------------------------------------------
        s   ^__^
         s  (es)\_______
            (__)\       )\/\
             ue ||----w |
                ||     ||

2

के, १ 178

{-1'g,({"+ ",x,((&/(c-4;60-#x))#" ")," +"}'l),(g:,(&/(64;4+c::#*l:(60*!-_-(#x)%60)_x))#"+"),("+  ^__^";" + (oo)\\_______";"   (__)\\       )\\/\\";"       ||----w |";"       ||     ||");}

k){-1'g,({"+ ",x,((c-#x)#" ")," +"}'l),(g:,(&/(64;4+c::#*l:(60*!-_-(#x)%60)_x))#"+"),("+  ^__^";" + (oo)\\_______";"   (__)\\       )\\/\\";"       ||----w |";"       ||     ||");}"Hello codegolf.stackexchange.com"
++++++++++++++++++++++++++++++++++++
+ Hello codegolf.stackexchange.com +
++++++++++++++++++++++++++++++++++++
+  ^__^
 + (oo)\_______
   (__)\       )\/\
       ||----w |
       ||     ||

2

एपीएल 133 140 140 138 122

यह एक लाइनर एक वर्ण वेक्टर या सरणी के रूप में स्क्रीन इनपुट लेता है जो कि उद्धरणों में संलग्न है: ← by इनपुट में अग्रणी और निम्नलिखित रिक्त स्थान शामिल करके आउटपुट की उपस्थिति में सुधार किया जाता है।

('∘'⍪'∘',((¯2↑1,⍴t)⍴t←⍎⍞),'∘')⍪'∘'⋄5 19⍴(,⍉(19⍴2)⊤323584 196592 63503 4072 3096)\'∘^__^∘(oo)\_______(__)\)\/\||----w|||||'

सरणी की प्रत्येक पंक्ति पर गाय का वर्ण स्थान 19 बिट बूलियन वैक्टर के रूप में निर्दिष्ट किया गया है।

इनपुट का उपयोग करने के लिए उद्धरणों में बबल टेक्स्ट द्वारा पीछा किया गया एक लाइनर:

' Hello '

°°°°°°°°°
° Hello °
°°°°°°°°°
°  ^__^
 ° (oo)\_______
   (__)\       )\/\
       ||----w |
       ||     ||

मल्टी-लाइन टेक्स्ट एक सरणी के रूप में इनपुट है।

3 36⍴' Multi-line text input as an array. '

°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
° Multi-line text input as an array. °
° Multi-line text input as an array. °
° Multi-line text input as an array. °
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°  ^__^
 ° (oo)\_______
   (__)\       )\/\
       ||----w |
       ||     ||

इस संस्करण को www.nars2000.org पर मुफ्त एपीएल दुभाषिया के माध्यम से परीक्षण किया जा सकता है


पात्रों को ठीक से कैसे गिनें? मैंने यहां 171 UTF-8 बाइट्स और 141 यूनिकोड कोडपॉइंट्स गिने (नए अंक शामिल किए गए)। / * यह भी नहीं पाया गया कि मुझे apt-get installएपीएल चलाने की क्या आवश्यकता है ... * /
Vi।

1
@Vi। APL + WIN v5 वर्ण सेट एकल बाइट वर्णों पर आधारित है। मुझे उन्हें इस साइट पर ठीक से प्रस्तुत करने के लिए UTF-8 में परिवर्तित करना होगा। इसलिए मुझे विश्वास है कि मैं नए पात्रों में एकल बाइट्स सहित वर्णों को गिनने में उचित हूं। मुझे यकीन नहीं है कि आप एपीएल कैसे चला सकते हैं। मैं सामान्य रूप से nars2000.org पर मुफ्त संस्करण की सिफारिश करता हूं, लेकिन यह सापेक्ष असाइनमेंट का समर्थन करने के लिए प्रकट नहीं होता है।
ग्राहम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.