पिताजी मजाक करते हैं


49

हम सभी जानते हैं कि क्लासिक डैड जोक कुछ इस तरह है:

  1. किसी ने एक वाक्य अपने आत्म (जैसे वर्णन करने के लिए कहते हैं I'm tiredया I'm confused)।

  2. एक डैड-जोक उत्साह के साथ आता है और उत्तर देता है Hi <adjective>, I'm Dad!, क्योंकि परिचय एक ही प्रारूप का I'm Peterअनुसरण करते हैं ( जैसा कि उसी प्रारूप का अनुसरण करता है I'm hungry)।

आपका काम एक सेल्फ-डिस्क्रिप्टर के रूप में एक इनपुट में लेना है, और उपयुक्त डैड-जोक फॉर्म को आउटपुट करना है, लेकिन "डैड" शब्द का उपयोग करने के बजाय, आप उस प्रोग्रामिंग भाषा के नाम का उपयोग करेंगे जिसका आप प्रोग्रामिंग कर रहे हैं में।

परीक्षण मामलों (मान लें कि वे पायथन द्वारा पार्स किए जा रहे हैं):

I'm amazing                  Hi amazing, I'm Python!
I'm tired                    Hi tired, I'm Python!
I'm hungry                   Hi hungry, I'm Python!
I'm fat                      Hi fat, I'm Python!

अब मान लें कि इन परीक्षण मामलों को गोल्फस्क्रिप्ट द्वारा पार्स किया जा रहा है:

I'm a programmer             Hi a programmer, I'm Golfscript!
I'm a question-writer        Hi a question-writer, I'm Golfscript!
I'm a Stack-Overflow-er      Hi a Stack-Overflow-er, I'm Golfscript!

सटीक चुनौती:

  1. मानक इनपुट का उपयोग करके या एक फ़ंक्शन के माध्यम से स्व-डिस्क्रिप्टर प्रारूप ( I'm <adjective>या I'm a(n) <noun>) में एक स्ट्रिंग लें ।

    • मान लें कि कोई समाप्ति विराम चिह्न नहीं है।

    • मान लें कि शब्द I'mका उपयोग किया गया है और नहीं I am

  2. इसे डैड-जोक फॉर्मेट में कन्वर्ट करें - ऊपर दिए गए उदाहरणों को ठीक उसी तरह से देखें कि कैसा दिखना चाहिए।

अन्य सामान:


लीडरबोर्ड

आप नीचे विजेट / स्निपेट का विस्तार करके इस पोस्ट के लिए लीडरबोर्ड देख सकते हैं। आपकी पोस्ट को रैंकिंग में शामिल करने के लिए, आपको # header textनिम्नलिखित जानकारी के साथ एक हेडर ( ) चाहिए:

  • भाषा का नाम (इसे कॉमा ,या डैश के साथ समाप्त करें -), उसके बाद ...

  • बाइट गिनती, आपके शीर्ष लेख में दिखाई देने वाली अंतिम संख्या के रूप में।

उदाहरण के लिए, JavaScript (ES6), 72 bytesमान्य है, लेकिन Fortran, 143 bytes (8-bit)अमान्य है क्योंकि बाइट गिनती हैडर में अंतिम संख्या नहीं है (आपका उत्तर 8 बाइट्स के रूप में पहचाना जाएगा - इसका लाभ न लें)।

<iframe src="https://ozewski.github.io/ppcg-leaderboard/?id=185872" width="100%" height="100%" style="border: none;">Oops, your browser is too old to view this content! Please upgrade to a newer version of your browser that supports HTML5.</iframe><style>html,body{margin:0;padding:0;height:100%;overflow:hidden}</style>


39
मैंने अपने परिवार को यह बताने के तरीकों में से एक माना कि मेरी पत्नी उम्मीद कर रही थी कि जितने संभव हो उतने डैड चुटकुले सुनाए और देखें कि कौन पकड़ा गया है!
ग्यूसेप

7
कुछ उदाहरण आउटपुट विस्मयादिबोधक के साथ समाप्त होते हैं और कुछ नहीं। क्या है महत्व?
पुनरावर्ती

9
सामान्य अभ्यास एक उत्तर को स्वीकार करने से पहले अधिक समय देने के लिए है, यदि आप ऐसा बिल्कुल करते हैं: codegolf.meta.stackexchange.com/q/2035/66252
user2390246

7
और टाई ब्रेकर वोट नहीं है, यह सबसे पहले स्कोर तक पहुँच गया है।
झबरा

4
अब अगली गोल्फिंग भाषा का नाम जो एक खाली स्ट्रिंग है।
640KB

जवाबों:


26

वी , 13 बाइट्स

cEHi<esc>A, <C-r>" V!

इसे ऑनलाइन आज़माएं!

टीश के जवाब से प्रेरित

यह इस तथ्य का लाभ उठाता है कि I'mप्रारंभ से पाठ को हटाते समय स्ट्रिंग की शुरुआत से yanked होता है, और <C-r>"सम्मिलित मोड में इसे अंत में चिपकाता है।


मैंने अभी-अभी संपादित I'mकिया <C-O>pऔर फिर आपके उत्तर पर ध्यान दिया ...
tsh

2
विम का उपयोग कर एक गोल्फ भाषा और escape5 अक्षर लेता है ???
मोवावल्कर

4
@ मोवावल्कर नोप। यह वास्तव में बाइट है 0x1B, लेकिन यह आसान है और अधिक स्पष्ट है कि इसका क्या मतलब है यदि आप इसे लिखते हैं <esc>। उसी के लिए <C-r>है, जो वास्तव में है0x12
DJMcMayhem

@DJMcMayhem, आह जो बहुत अधिक समझ में आता है
mowwwalker

18

सी (जीसीसी) , 59 42 33 बाइट्स

-17 बाइट्स @Conor O'Brien को ध्यान में रखते हुए धन्यवाद कि आयात आवश्यक नहीं था

-9 बाइट्स @tsh को धन्यवाद, फ़ंक्शन लिखने का एक छोटा, यूबी तरीका बताता है

a(x){printf("Hi%s, I'm C!",x+3);}

इसे ऑनलाइन आज़माएं!

इनपुट के पहले 3 वर्णों को काटता है (हटाता है I'm) और वांछित पाठ के साथ इसे घेरता है।


कार्यक्रम आयात के बिना संकलित करता है, इसलिए आप इसे 42 बाइट्स के लिए छोड़ सकते हैं।
कॉनर ओ'ब्रायन

@ ConorO'Brien की अच्छी पकड़!
नील ए

3
और int वैकल्पिक भी है।
शाम

2
( char*; ) और भी , शायद ...; इसलिए a(x){printf("Hi%s, I'm C!",x+3);}काम करना चाहिए
TSH

2
@tsh: हाँ, अभ्यास है कि ज्यादातर 32-बिट सी कार्यान्वयन (जहां एक पर काम करने वाला intएक पकड़ सकता है char*अपरिभाषित व्यवहार के बावजूद, यह छोटा बिना)। लिनक्स पर x86-64 gcc पर, यह हमेशा PIE निष्पादन योग्य में विफल होगा (आमतौर पर कोई संकेत वर्चुअल एड्रेस स्पेस के कम 32 बिट्स में नहीं होते हैं, और x+3फ़ंक्शन arg से गणना करते समय उच्च 32 बिट्स की प्रतिलिपि बनाने के लिए gcc नहीं होगा आरडीआई रजिस्टर)। लेकिन गैर-पीआईई निष्पादन योग्य में, स्थैतिक पते कम से कम 31 बिट वर्चुअल एड्रेस स्पेस में होते हैं, इसलिए यदि कॉलर स्ट्रिंग स्ट्रिंग या स्टैटिक बफर से गुजरता है, तो यह काम करेगा।
पीटर कॉर्ड्स

16

वी , 13 बाइट्स

cEHi<Esc>A, <C-O>p V!

इसे ऑनलाइन आज़माएं!

के लिए नया है V। बस इसे लगभग 30 मिनट पहले पता था। वैसे भी, इस भाषा को सिर्फ इसलिए चुना गया है क्योंकि इसके नाम की कीमत केवल 1 बाइट है। मुझे यकीन नहीं है कि <End>वी में कुंजी कैसे भेजें । अधिकांश विम पर्यावरण इस उदाहरण में <End>प्रतिस्थापन के रूप में स्वीकार करेगा <Esc>A। लेकिन, आप जानते हैं, V, vim से 2 अक्षर छोटा है। :)

@Candy Gumdrop के लिए धन्यवाद , 1 बाइट बचाता है।


1
को बदलकर एक बाइट बचा सकता c3lहै cE
कैंडी गमड्रॉप

@CandyGumdrop वाह, मैं ऊपरी मामले Eसे पहले नहीं जानता था ।
TSH

आप भी कर सकते हैं cW(जो अलग-अलग लगता है, लेकिन वास्तव में समान है cE) या 3s। अच्छी नौकरी! मैं लगभग इस सटीक उत्तर को पोस्ट करने वाला था जब मैंने देखा कि पहले से ही 2 वी उत्तर थे, जो एक अच्छा आश्चर्य था। मैंने कई अलग-अलग तरीकों की कोशिश की है, लेकिन मुझे यकीन नहीं है कि यह संभव हो जाएगा <13 बाइट्स।
DJMcMayhem

11

स्टैक्स , 13 बाइट्स

â∞¿φ‼0▲(─ƒSqÄ

इसे चलाएं और डीबग करें

अनपैक्ड, अनगुल्फेड और टिप्पणी की गई, यह ऐसा दिखता है।

.Hip        print "Hi" with no newline
3tp         trim 3 characters from start of input and print with no newline
            final line is to print the unterminated compressed literal ", I'm stax!"
`dYgAwg_

मैंने अंतिम टिप्पणी को एक पंक्ति में स्थानांतरित किया क्योंकि कुछ भी नहीं एक स्ट्रिंग स्ट्रिंग शाब्दिक का पालन कर सकता है।

इसको चलाओ


मैं आपको विजेता घोषित करने जा रहा हूं क्योंकि आपके पोस्ट में अधिक वोट थे, लेकिन आप तकनीकी रूप से एक दूसरे व्यक्ति के साथ बंधे थे। बधाई हो!
कनेक्टीचार्जर

10

ब्रेनफक, 164

,-.+>,>,----.++++>,.>,[.,]<<<+++++.----->>.[<]>[.>]<[->+++<]>++.[--->+<]>----.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.+[++>---<]>-.

इसे ऑनलाइन आज़माएं!

"मंथन!" स्ट्रिंग का हिस्सा इस उपकरण के साथ उत्पन्न होता है , संभवतः हाथ से आगे गोल्फ हो सकता है।



10

एक्सेल, 36 33 बाइट्स

जोहान डू टिट को -3 बाइट्स धन्यवाद।

इनपुट A1 में जाता है।

="Hi "&MID(A1,4,99)&", I'm Excel"

पहला प्रयास:

=REPLACE(A1,1,3,"Hi")&", I'm Excel!"

="Hi "&MID(B13,4,99)&", I'm Excel"34 बाइट्स
जोहान डू टिट

साभार @ जोहंदूटॉयट A1इसके बजाय B13वास्तव में 33 बाइट्स।
वेर्निस्क

8

पायथन 3 , 35 34 बाइट्स

lambda s:"Hi%s, I'm Python!"%s[3:]

इसे ऑनलाइन आज़माएं!

-1 बाइट अज्ञानता के अवतार के लिए धन्यवाद

इसके अलावा 34 बाइट्स, नए स्वरूपित स्ट्रिंग्स का उपयोग करते हुए, गैबोर फेक्टेट के लिए धन्यवाद:

lambda s:f"Hi{s[3:]}, I'm Python!"

इसे ऑनलाइन आज़माएं!



क्या खोने के बारे में lambda s:और जगह %s[3:]के साथ %input()[3:]? (-4 बाइट्स)
निको

@ नोइको अगर मैं समझता हूं कि आप क्या कह रहे हैं, तो वह कुछ भी नहीं छापेगा। इस साइट पर डिफ़ॉल्ट नियम या तो एक पूर्ण प्रोग्राम है जो आउटपुट प्रिंट करता है या एक फ़ंक्शन जो आउटपुट देता है। आमतौर पर आप जो सुझाव दे रहे हैं उसे स्निपेट कहा जाता है, और एक पूर्ण समाधान नहीं होगा, इसे print()7 और बाइट्स के साथ लपेटने की आवश्यकता होगी , यही कारण है कि पायथन जवाब आमतौर पर लैम्ब्डा का उपयोग करते हैं।
स्टीफन

लेकिन यह आपके (और वास्तव में सबसे) उत्तर (ओं) से अलग कैसे है? मेरा मतलब है कि दोनों खुद ही कुछ भी नहीं छापते हैं, और दोनों एक ही आउटपुट को सही लौटाते हैं? (यहां काफी नया है - अभी भी सीजी के लिए इस्तेमाल किया जा रहा है)
निको

2
@niko यह ठीक है! के साथ lambda s, मैंने एक (अनाम) फ़ंक्शन को परिभाषित किया है। यदि आप TIO लिंक में शीर्ष लेख और पाद लेख को देखते हैं, तो मैं उस फ़ंक्शन का नाम देता हूं f, और फिर इसे बुलाया जाता है f("I'm whatever")। तब फ़ंक्शन अपेक्षित आउटपुट देता है। अपने स्निपेट के साथ, आप न तो प्रिंट करते हैं और न ही किसी फ़ंक्शन से लौटते हैं - आपके पास बस थोड़ा सा कोड होता है जो सही परिणाम का मूल्यांकन करता है, लेकिन इसके साथ कुछ भी नहीं करता है। आप कई बार प्रोग्राम चला सकते हैं, आप कई बार फ़ंक्शन कॉल कर सकते हैं, लेकिन एक स्निपेट सिर्फ एक स्निपेट है।
स्टीफन

6

आर 45 44 39 बाइट्स

@Giuseppe संपादित करें

sub("I'm(.*)","Hi\\1, I'm R",scan(,""))

@AaronHayman संपादित करें

function(s)sub("I'm (.*)","Hi \\1, I'm R",s)

इसे ऑनलाइन आज़माएं!


एक बाइट की जगह बचा सकता है "(I'm )के साथ"(.* )
हारून हेमैन

1
@AaronHayman, I'm a programmerलालच के कारण (कई रिक्त स्थान) के लिए काम नहीं करता है
नहुएल फौलीउल

@NahuelFouilleul राइट, मुझे यकीन नहीं था कि पहली या आखिरी सफेद जगह पर विचार किया जाएगा।
निको

1
ठीक है, मैंने एक बाइट को बचाया, और मुझे लगता है कि यह ठीक से काम करता है इसे ऑनलाइन आज़माएं!
आरोन हेमैन

2
बदलकर 2 बाइट्स subके लिए "I'm(.*)" and "Hi\\1, I'm R"और इनपुट stdin से का उपयोग कर लेने के द्वारा 3 बाइट्स scan: यह ऑनलाइन की कोशिश करो
ग्यूसेप


6

x86 ,37 36 बाइट्स

$ xxd DAD.COM
00000000: d1ee ac8a d8c6 0024 adc7 0448 698b d6b4  .......$...Hi...
00000010: 09cd 21ba 1901 cd21 c32c 2049 276d 2078  ..!....!., I'm x
00000020: 3836 2124                                86!$

unassembled:

D1 EE       SHR  SI, 1                  ; point SI to DOS PSP (080H)
AC          LODSB                       ; load string length into AL, advance SI
8A D8       MOV  BL, AL                 ; put string length into BL
C6 40 24    MOV  BYTE PTR[BX][SI], '$'  ; add string terminator to end of string
AD          LODSW                       ; advance SI two chars
C7 04 6948  MOV  WORD PTR[SI], 'iH'     ; replace second and third char with 'Hi'
8B D6       MOV  DX, SI                 ; load string address for INT 21H string function
B4 09       MOV  AH, 9                  ; display a '$' terminated string function
CD 21       INT  21H                    ; call DOS API
BA 0119     MOV  DX, OFFSET S           ; load address for second part of string
CD 21       INT  21H                    ; call DOS API
C3          RET                         ; return to DOS
S  DB ", I'm x86!$"  

एक स्टैंडअलोन निष्पादन योग्य डॉस कार्यक्रम। कमांड लाइन से इनपुट, स्क्रीन पर आउटपुट।

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

डाउनलोड करें और DAD.COM का परीक्षण करें

* यहाँ सटीक "भाषा" नाम थोड़ा अस्पष्ट है क्योंकि सीपीयू मशीन कोड वास्तव में औपचारिक अर्थों में भाषा नहीं है। लक्ष्य प्लेटफ़ॉर्म के लिए आम तौर पर समझा और स्वीकृत नाम के रूप में "x86" के साथ जा रहा है।


[मुख्य थ्रेड से नीचे टिप्पणी करते हुए] मैं कहूंगा कि "x86" आर्किटेक्चर है, जबकि "MA SM" उस आर्किटेक्चर पर उपलब्ध भाषाओं में से एक होगा (ध्यान दें कि इसमें इसमें कोई स्पेस नहीं है)।
जोनाथन एलन

5
मुझे लगता है कि "x86" शायद वास्तव में ठीक है, यह सब के बाद गोल्फ है :)
जोनाथन एलन


5

व्हॉट्सएप , 267 बाइट्स

[S S S T    S S T   S S S N
_Push_72_H][T   N
S S _Print_as_character][S S S T    T   S T S S T   N
_Push_105_i][T  N
S S _Print_as_character][S S S N
_Push_0][S N
S _Duplicate_0][S N
S _Duplicate_0][T   N
T   S _Read_STDIN_as_character][T   N
T   S _Read_STDIN_as_character][T   N
T   S _Read_STDIN_as_character][N
S S N
_Create_Label_INPUT_LOOP][S S S N
_Push_0][S N
S _Duplicate_0][T   N
T   S _Read_STDIN_as_character][T   T   T   _Retrieve][S N
S _Duplicate_input][S S S T S T S N
_Push_10][T S S T   _Subtract][N
T   S S N
_If_0_Jump_to_Label_TRAILING][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_INPUT_LOOP][N
S S S N
_Create_Label_TRAILING][S N
N
_Discard_top][S S T T   S S S T S T N
_Push_-69_!][S S T  T   N
_Push_-1_e][S S T   T   T   N
_Push_-3_c][S S T   T   S T N
_Push_-5_a][S S S T S T S N
_Push_10_p][S S S T T   S T N
_Push_13_s][S S T   T   N
_Push_-1_e][S S S T T   T   S N
_Push_14_t][S S S T T   N
_Push_3_i][S S S T  S N
_Push_2_h][S S T    T   T   T   T   N
_Push_-15_W][S S T  T   S S S T T   S N
_Push_-70_space][S S S T    T   T   N
_Push_7_m][S S T    T   T   T   T   T   T   N
_Push_-63_'][S S T  T   T   T   S T N
_Push_-29_I][S T    S S T   T   N
_Copy_0-based_3rd_-70_space][S S T  T   T   T   S T S N
_Push_-58_,][N
S S T   N
_Create_Label_PRINT_TRAILING_LOOP][S S S T  T   S S T   T   S N
_Push_102][T    S S S _Add][T   N
S S _Print_as_character][N
S N
T   N
_Jump_to_Label_PRINT_TRAILING_LOOP]

पत्र S(स्थान), T(टैब), और N(नई-पंक्ति) केवल हाइलाइटिंग के रूप में जोड़े गए।
[..._some_action]केवल स्पष्टीकरण के रूप में जोड़ा गया।

चूंकि व्हॉट्सएप एक समय में एक चरित्र का इनपुट करता है, इसलिए इनपुट में एक अनुगामी न्यूलाइन होनी चाहिए ताकि यह पता चले कि रीडिंग कैरेक्टर को कब रोकना है और इनपुट किया जाता है।

इसे ऑनलाइन आज़माएं (कच्चे स्थान, टैब और नई-नई लाइनों के साथ)।

छद्म कोड में स्पष्टीकरण:

Print "Hi"
Read three characters from STDIN, and do nothing with them
Start INPUT_LOOP:
  Character c = STDIN as character
  If(c == '\n'):
    Call function PRINT_TRAILING
  Print c as character
  Go to next iteration of INPUT_LOOP

function PRINT_TRAILING:
  Discard the top of the stack (the c='\n' that was still on the stack)
  Push "!ecapsetihW m'I ," one character at a time
  Start PRINT_TRAILING_LOOP:
    Print as character
    Go to next iteration of PRINT_TRAILING_LOOP

पात्रों को ", I'm Whitespace!"उल्टे क्रम में धकेला जाता है, और फिर एक लूप में मुद्रित किया जाता है। इन पात्रों के सभी मूल्यों को भी 102 से कम कर दिया जाता है, जो बाइट्स को बचाने के लिए मुद्रण से पहले लूप में जोड़ा जाता है। इस जावा प्रोग्राम के साथ प्रत्येक किरदार को निरंतर 102 से नीचे करने के लिए उत्पन्न होता है । इसके अलावा, -70दो स्थानों के लिए मूल्य को दो बार धकेलने के बजाय, "!ecapsetihW m'I ,"कुछ बाइट्स को बचाने के लिए पहले से कॉपी किए गए बिलियन के साथ दूसरी जगह की नकल की जाती है।


5

आईबीएम / लोटस नोट्स फॉर्मूला भाषा, 61 62 बाइट्स

+1 क्योंकि मैंने !आउटपुट के अंत में ध्यान नहीं दिया था ।

"Hi"+@Right(i;"I'm")+", I'm IBM/Lotus Notes Formula Language!"

कम्प्यूटेड फ़ील्ड सूत्र जो इसे संपादन योग्य फ़ील्ड से इनपुट लेता है i। यह "मैं एक हूँ" के लिए असफल हो जाएगा, लेकिन जब से मुझे कोई मतलब नहीं होगा मैं यह मान रहा हूँ कि ऐसा नहीं होगा।

शर्म करो कि 32 बाइट्स पर, भाषा का नाम सूत्र की कुल लंबाई से आधे से अधिक है!

एक उदाहरण इनपुट और आउटपुट दिखाने के नीचे स्क्रीनशॉट:

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


5
ऐसा लगता है कि आपकी भाषा नौकरी के लिए अच्छी होगी यदि नाम इतना लंबा नहीं था :)
कनेक्टयूरचार्ज

अगर मैं गंभीर हो रहा था, तो मैं शायद इसे कॉल करूंगा Formulaजो कि इसे नोट्स / डोमिनोज़ डेवलपर समुदाय में कैसे संदर्भित किया जाता है :-)
ElPedro

1
@PeterCordes - संभव है, लेकिन लोटस नोट्स / डोमिनोज़ में इनबिल्ट भाषा के रूप में लोटसस्क्रिप्ट भी है, इसलिए हमें शायद थोड़ा और विशिष्ट होने की आवश्यकता है ;-)
ElPedro

1
वास्तव में इससे थोड़ा बेहतर हो सकता है क्योंकि आईबीएम ने इसे आईबीएम नोट्स के लिए फिर से लिखा था, लेकिन फिर वे आईबीएम डोमिनोज़ में फिर से आए थे, इसलिए मुझे लगता है कि इसे सख्ती से सही करने के लिए "हाय @PeterCordes, मैं आईबीएम डोमिनोज़ फॉर्मूला हूँ" :)
ElPedro

1
@PeterCordes केवल भाषा नाम के आवश्यक हिस्से के लिए आवश्यक हैं - मैं स्वीकार करने कर रहा हूँ Perlके लिए एक प्रतिस्थापन के रूप में Perl 5या Perl 5 -p
संयोजक

5

sed ( -r), 31 28 25 बाइट्स

-3 बाइट्स शैगी -3 बाइट्स के लिए धन्यवाद क्योंकि -rआउटपुट में इसकी आवश्यकता नहीं है

s/I'm(.*)/Hi\1, I'm sed!/

TIO



हम्म ... झंडे गिनने के बारे में हमारा तरीका उन्हें अलग-अलग भाषाओं के रूप में घोषित करना था, इसलिए मुझे लगता है कि आपको इसकी आवश्यकता हो सकती है, -rलेकिन मेटा को इस पर तौलना लायक होगा।
झबरा

मैं पर्ल 5 उत्तर और टिप्पणियों के कारण हटा दिया गया
नहुएल फौइउल


5

ऑक्टेव , 35 बाइट्स

@(s)["Hi" s(4:end) ", I'm Octave!"]

इसे ऑनलाइन आज़माएं!

@(s)                                 % Anonymous function taking a string input
    [                             ]  % Concatenate everything inside the brackets
     "Hi"          ", I'm Octave!"]  % The fixed parts of the output string
          s(4:end)                   % The input, except "I'm"

                                     % Returns the concatenated string

42 बाइट्स:

मैंने किसी भी तरह "ऑक्टेव" को पुनः प्राप्त करने की कोशिश की, इसे लिखे बिना, क्योंकि 6 वर्ण यहां के कुछ अन्य भाषा नामों की तुलना में काफी अधिक है। दुर्भाग्य से, मैं केवल पा सकता हूं ver, जो अल्पविराम से अलग क्षेत्रों के साथ एक संरचना का उत्पादन करता है। 6 से अधिक बाइट्स ले जाता है। :(

@(s)["Hi" s(4:end) ", I'm " {ver.Name}{1}]

इसे ऑनलाइन आज़माएं!


5

रूबी -p , 32 27 26 बाइट्स

निक कैनेडी के जेली उत्तर का लाभ उठाते हुए -5 बाइट्स ।

स्ट्रिंग में एक अलग बिंदु पर विभाजन से -1 बाइट। यह भी एहसास हुआ कि मेरा पुराना बायटेकाउंट गलत था।

~/m/;$_="Hi#$', I'm Ruby!"

व्याख्या

                            # -p gets line of input and saves to $_
~/m/;                       # Find first 'm' in $_ using regex
     $_="Hi#$', I'm Ruby!"  # Save modified string to $_
                            # ($' is the string AFTER the most recent regex match)
                            # -p outputs $_ to screen

इसे ऑनलाइन आज़माएं!


ठंडा! आपका इनपुट कहां है?
संयोजक

@connectyourcharger ने एक स्पष्टीकरण जोड़ा। इनपुट STDIN है।
वैल्यू इंक

पकड़ लिया। अच्छा उत्तर!
संयोजक


4

बैच, 22 + 3 = 25 बाइट्स

@echo Hi %*, %0 Batch!

इस फ़ाइल को नामांकित करने के लिए +3 बाइट्स I'm( .batबैच फ़ाइलों के लिए आवश्यक एक्सटेंशन के साथ )। के रूप में I'm hungry, जब यह गूंज जाएगा Hi hungry, I'm Batch!


कार्यक्रम प्राप्त करना चाहिए, I'mलेकिन यहाँ यह स्क्रिप्ट का नाम नहीं जानता कि क्या यह वैध है, या जब तक कि यह वर्तमान पथ में स्क्रिप्ट के साथ दुभाषिया नहीं है
नाहुएल फौइउल

1
@ नाहुएलफौइलुल दुभाषिया है CMD, तो क्या यह वास्तव में मुझे 2 बाइट बचा सकता है?
नील


4

पर्ल 5 -p , 31 24 बाइट्स

ओपी के स्पष्टीकरण और @ नाहुएलफौइल से एक सुझाव के आधार पर कटौती करें।

/ /;$_="Hi $', $` Perl!"

इसे ऑनलाइन आज़माएं!



1
शायद $^X $]विशेष चर का भी उपयोग किया जा सकता है, हालांकि 5 इससे कम है$]
नाहुएल फौइउल

क्या आपको भाषा के नाम के भाग के रूप में शामिल करने की आवश्यकता है 5? यानी आप तर्क दे सकते हैं कि पर्ल 5 "खुद के बारे में सोचता है" "पर्ल" के रूप में? पर्ल 6 के अस्तित्व में आने से पहले यह मामला था, और कोडगॉल्फ के जवाबों में केवल भाषा के कम से कम एक कार्यान्वयन पर काम करने की आवश्यकता होती है, इसलिए एक पुराने को चुनें?
पीटर कॉर्ड्स

ओपी पुष्टि करता है कि Perlपर्याप्त है। और -pविकल्प के उपयोग को भाषा के नाम का हिस्सा नहीं माना जाता है।
पीटर कॉर्ड्स

4

जेली ,  16  15 बाइट्स

Ḋa⁾Hi“'ṫṗḶ/÷!Ṗ»

एक पूर्ण कार्यक्रम (पायथन स्वरूपित) स्ट्रिंग तर्क को स्वीकार करता है जो परिणाम को प्रिंट करता है।

इसे ऑनलाइन आज़माएं!

कैसे?

Ḋa⁾Hi“'ṫṗḶ/÷!Ṗ» - Link: list of characters    e.g. "I'm a programmer"
Ḋ               - dequeue                          "'m a programmer"
  ⁾Hi           - pair of characters               "Hi"
 a              - logical AND (vectorises)         "Hi a programmer"
     “'ṫṗḶ/÷!Ṗ» - list of characters               ", I'm Jelly!"
                -  - since this is a new leading constant chain the previous result
                -    is implicitly printed (with no trailing newline)
                - program result is implicitly printed (again with no trailing newline)

नोट: Ḋ⁾Hio...काम भी करता है।


4

जेली , 20 17 बाइट्स

ṫ4;“'ṫṗḶ/÷!Ṗ»⁾Hi;

इसे ऑनलाइन आज़माएं!

इनपुट को अपने तर्क के रूप में लेते हुए और जेली स्ट्रिंग को लौटाने वाला एक विचित्र लिंक।

व्याख्या

ṫ4                | everything from 4th character on
  ;“'ṫṗḶ/÷!Ṗ»     | concatenate ", I’m Jelly!" to the end
             ⁾Hi; | concatenate "Hi" to the beginning

1
रुको, जेली में "जेली" शब्द के लिए बिल्ट-इन है?
संयोजक

3
@connectyourcharger यह एक संकुचित शब्द है
निक कैनेडी

आह, यह समझ में आता है
कनेक्टयूरचेंजर

4

VBA (एक्सेल), 27 28 बाइट्स

?"Hi"Mid([A1],4)", I'm VBA!

एक्सेल में सक्रिय शीट के सेल A1 में इनपुट जाता है, तत्काल विंडो में कोड चलाएं

इस तथ्य के कि लाभ लेता है "SomeString"SomeValueऔर SomeValue"SomeString"परोक्ष जोड़ देंगे और यह कि से तीसरा तर्क को छोड़ते हुए MIDसमारोह इनपुट के अंत से सभी पात्रों ले जाएगा - यह एक "प्रारंभिक अक्षर में डंप" समारोह में तब्दील हो

(-1 बाइट शैगी के लिए धन्यवाद, लेकिन +1 जब ओपी ने पुष्टि की कि सभी उत्तरों को एक विस्मयादिबोधक चिह्न के साथ समाप्त होना चाहिए)
(टेलर बाइट के लिए -1 बाइट धन्यवाद मुझे याद दिलाता है कि अंतिम डबल-उद्धरण वैकल्पिक था)


1
आप के बाद Hiऔर के 5साथ अंतरिक्ष को हटा सकते हैं 4?
झबरा

@ शग्गी ... हां, हां मैं कर सकता था। पता नहीं मैं कैसे चूक गया, धन्यवाद
क्रोनोसाइडल

1
आप "इस समाधान से अंतिम को हटाकर एक बाइट छोड़ सकते हैं, और जैसा कि आप मूल्यांकन अंकन (वर्ग कोष्ठक) का उपयोग करते हैं, आपको इस समाधान को एक्सेल VBA होने के रूप में चिह्नित करना चाहिए, क्योंकि यह नोटेशन केवल एक्सेल में उपलब्ध है
टेलर स्कॉट


3

05AB1E , 23 21 बाइट्स

केविन क्रूज़सेन के लिए धन्यवाद 2 बाइट्स बचाए

',«#À„Hiš"05AB1E!"ªðý

इसे ऑनलाइन आज़माएं!

व्याख्या

',«                    # append ","
   #                   # split on spaces
    À                  # rotate left
     „Hiš              # prepend "Hi"
         "05AB1E!"ª    # append the language name
                   ðý  # join on spaces

21 बाइट्स । और बहुत बुरा है विस्मयादिबोधक चिह्न वहाँ है .. क्योंकि •äƵí•hR1 बाइट से छोटा है "05AB1E"। :)
केविन क्रूज़सेन

@ केविनक्रूजसेन: वाह! मुझे बेवकूफ लगता है कि मैंने "," के साथ शुरुआत नहीं की। हाँ, मैंने भी कोशिश की •äƵí•hR, लेकिन जैसा कि आप कहते हैं, यह दुर्भाग्य से यहाँ कोई भी नहीं बचा है।
Emigna

3

QuadR , 22 बाइट्स

^...
$
Hi
, I'm QuadR!

इसे ऑनलाइन आज़माएं!

यह बदलता है:

^... तीन प्रारंभिक अक्षर
और
$ अंतिम पंक्ति

साथ में

Hi
और
,I'm QuadR
क्रमशः


तो आप बीच की दो पंक्तियों का आदान-प्रदान कर सकते हैं और भाषा को रेटिना में बदल सकते हैं और फिर भी @ केविनक्रूजसेन के उत्तर को हरा सकते हैं?
नील

@ मुझे ऐसा लगता है, लेकिन आपका अभी भी कम है। Tbf, QuadR है, लेकिन नहीं के लिए एक पतली कवर के लिए गोल्फ ⎕RAPL ऑपरेटर।
एडम

आह, लेकिन मेरा जवाब केवल रेटिना 1 के लिए काम करता है, हालांकि रेटिना 0.8.2 नहीं।
नील

3

रेटिना , 22 21 बाइट्स

3L$`
Hi$', $` Retina!

इसे ऑनलाइन आज़माएं! लिंक में परीक्षण के मामले शामिल हैं। रेटिना 0.8.2 में काम नहीं करता है, इसलिए इसके बजाय @ Adám's QuadR उत्तर को अनुकूलित करें। स्पष्टीकरण: पैटर्न खाली है, इसलिए यह इनपुट स्ट्रिंग में हर स्थिति से मेल खाता है। हालांकि हमें केवल तीसरे (या चौथे काम) मैच की आवश्यकता होगी। तब प्रतिस्थापन उस मैच पर लागू होता है। उस प्रतिस्थापन के भीतर, $'स्ट्रिंग के बाकी हिस्सों को $`संदर्भित करता है और स्ट्रिंग की शुरुआत को संदर्भित करता है।


3

रेटिना 0.8.2 , 26 25 23 बाइट्स

^...
Hi
$
, I'm Retina!

-1 बाइट के लिए @attinat को धन्यवाद ।
-2 बाइट्स @ Adám की QuadR उत्तर को पोर्ट करके , इसलिए उसे अपवोट करना सुनिश्चित करें !!

PS: @Neil ने नए संस्करण में छोटा रेटिना उत्तर पोस्ट किया है , इसलिए मैंने यह उत्तर रेटिना 0.8.2 में स्पष्ट रूप से बदल दिया है।

इसे ऑनलाइन आज़माएं।

स्पष्टीकरण:

पहले तीन वर्णों को "Hi" से बदलें:

^...
Hi

और फिर एक अनुगामी संलग्न करें ", मैं रेटिना हूँ!" (स्ट्रिंग के अंत को प्रतिस्थापित करके):

$
, I'm Retina!

1
ऐसा नहीं होना चाहिए इस के बजाय?
attinat

2
या बेहतर, 25 बाइट्स
attinat

@attinat आह, निश्चित रूप से, गलत आउटपुट पर ध्यान नहीं दिया था ..>।> और -1 के लिए धन्यवाद!
केविन क्रूज़सेन

3

बैश, 24 बाइट्स

echo Hi ${@:2}, $1 bash!

TIO


की जगह bashके साथ $0के बाइट्स एक जोड़े को बचाने के लिए
roblogic

1
@roblogic, $0स्क्रिप्ट का नाम या रनिंग प्रिंट करेगा , bash -c 'echo Hi ${@:2}, $1 $0!' bash $@लेकिन आकार में गिनना चाहिए
Nahuel Fouilleul
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.