아빠 농담 재미있다


49

우리 모두는 다음과 같은 고전적인 아빠 농담을 알고 있습니다.

  1. 누군가 자신을 설명하는 문장을 말합니다 (예 : I'm tired또는 I'm confused).

  2. 아빠 농담 애호가가 와서 답장합니다 Hi <adjective>, I'm Dad!. 소개는 형식이 동일하기 때문입니다 ( I'm Peter와 형식이 동일 함 I'm hungry).

당신의 임무는 자기-기술자 (self-descriptor)의 형태로 입력을 받아서 적절한 아빠 농담 형태를 출력하는 것이지만, "Dad"라는 단어를 사용하는 대신, 프로그래밍하고있는 프로그래밍 언어의 이름을 사용하게됩니다 에서.

테스트 사례 (파이썬이 파싱한다고 가정) :

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!

이제 이러한 테스트 사례가 Golfscript에 의해 구문 분석되고 있다고 가정하십시오.

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

V , 13 바이트

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

온라인으로 사용해보십시오!

tsh의 답변에서 영감을 얻음

이것은 I'm텍스트를 처음부터 삭제할 때 문자열의 시작 부분에서 줄어든 것을 이용하여 <C-r>"삽입 모드에서 끝까지 붙여 넣습니다 .


난 그냥 편집 I'm<C-O>p... 그리고 답을 알
TSH

2
Vim을 사용하는 골프 언어로 escape5 자 ???
mowwwalker

4
@mowwwalker 아니요. 실제로 바이트 0x1B이지만로 작성하면 의미가 더 쉽고 분명합니다 <esc>. 같은에 <C-r>정말 인0x12
DJMcMayhem

@DJMcMayhem, 아 훨씬 더 의미가 있습니다
mowwwalker

18

C (gcc) , 59 42 33 바이트

가져 오기가 필요하지 않은 @Conor O'Brien 덕분에 -17 바이트

더 짧은 UB 함수 작성 방법을 지적하는 @tsh 덕분에 -9 바이트

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

온라인으로 사용해보십시오!

입력의 처음 3자를 잘라 내고 (제거 I'm) 원하는 텍스트로 둘러 쌉니다.


가져 오기없이 프로그램이 컴파일되므로 42 바이트 동안 삭제할 수 있습니다.
코너 오브라이언

@ ConorO'Brien 멋진 캐치!
닐 A.

3
그리고 int 또한 선택 사항입니다.
tsh

2
(?) 그리고 char*아마도 ...; 그래서 a(x){printf("Hi%s, I'm C!",x+3);}작동합니다
TSH

2
@tsh : 그렇습니다. 실제로 정의되지 않은 동작에도 불구하고 대부분의 32 비트 C 구현 ( 절단하지 않고 int보유 할 수있는 곳 char*)에서 작동합니다. Linux의 x86-64 gcc에서는 항상 PIE 실행 파일에서 실패합니다 (일반적으로 32 비트의 가상 주소 공간에 포인터가 없으며 gcc는 x+3함수 arg에서 계산하는 동안 높은 32 비트를 복사하지 않습니다) RDI 레지스터). 그러나 PIE 이외의 실행 파일에서 정적 주소는 31 비트의 가상 주소 공간에 있으므로 호출자가 문자열 리터럴 또는 정적 버퍼를 전달하면 작동합니다.
Peter Cordes

16

V , 13 바이트

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

온라인으로 사용해보십시오!

에 처음 V입니다. 약 30 분 전에 알았습니다. 어쨌든이 언어는 이름이 1 바이트이기 때문에 선택됩니다. <End>V 로 키 를 보내는 방법을 잘 모르겠습니다 . 대부분의 vim 환경은 이 예제에서 <End>대체물로 허용 됩니다 <Esc>A. 그러나 V는 vim보다 2 자 짧습니다. :)

@Candy Gumdrop 덕분에 1 바이트를 절약합니다.


1
로 변경 c3l하여 1 바이트를 절약 할 수 cE있습니다.
Candy Gumdrop

@CandyGumdrop 와우, 나는 E전에 대문자를 몰랐다 .
tsh

또는 cW다르게 보일 수도 있지만 실제로는 동일 할 cE수도 3s있습니다. 좋은 작업! 이미 2V 답변이 있음을 알았을 때 거의이 정확한 답변을 게시하려고했는데 놀랍습니다. 여러 가지 다른 접근법을 시도했지만 <13 바이트를 얻을 수 있는지 확실하지 않습니다.
DJMcMayhem

11

Stax , 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_

끝나지 않은 문자열 리터럴 뒤에는 아무것도 없기 때문에 최종 주석을 한 줄 위로 이동했습니다.

이것을 실행


귀하의 게시물에 더 많은 투표가 있었으므로 기술적으로 다른 사람과 연결되어 있기 때문에 우승자를 선언하겠습니다. 축하합니다!
connectcharger

10

brainfuck, 164

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

온라인으로 사용해보십시오!

"brainfuck!" 문자열의 일부는 도구 로 생성되며 , 손으로 더 골프를 칠 수도 있습니다.


2

10

엑셀, 36 33 바이트

Johan du Toit 덕분에 -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 바이트
Johan du Toit

@JohanduToit 감사합니다. A1대신 B13이렇게 실제로 33 바이트.
베르니 슈

8

파이썬 3 , 35 34 바이트

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

온라인으로 사용해보십시오!

무지의 구현 덕분에 -1 바이트

Gábor Fekete 덕분에 최신 형식의 문자열을 사용하는 34 바이트도 있습니다.

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

온라인으로 사용해보십시오!



잃고 lambda s:교체 %s[3:]하는 것은 %input()[3:]어떻습니까? (-4 바이트)
니코

@niko 당신이 말하는 것을 이해하면 아무것도 인쇄되지 않습니다. 이 사이트의 기본 규칙은 출력을 인쇄하는 전체 프로그램이거나 출력을 반환하는 함수입니다. 일반적으로 제안하는 것은 스 니펫이라고하며 완벽한 솔루션은 아니므로 print()7 바이트를 더 감싸 야하므로 파이썬 답변이 일반적으로 람다를 사용합니다.
스티븐

그러나 여기서 (그리고 실제로 가장) 답변과 어떻게 다른가요? 나는 둘 다 스스로 아무것도 인쇄하지 않고 둘 다 동일한 출력을 올바르게 반환한다는 것을 의미합니까? (여기서는 CG에 익숙해 져 있음)
niko

2
@niko 괜찮습니다! 으로 lambda s, 나는 (익명) 함수를 정의했습니다. TIO 링크에서 머리글과 바닥 글을 보면 해당 함수의 이름을으로 f지정한 다음을 사용하여 호출했습니다 f("I'm whatever"). 그런 다음 함수는 예상 출력을 반환합니다. 스 니펫을 사용하면 함수를 인쇄하거나 반환하지 않습니다. 올바른 결과로 평가되지만 아무것도하지 않는 약간의 코드 만 있습니다. 프로그램을 여러 번 실행할 수 있고 함수를 여러 번 호출 할 수 있지만 스 니펫은 단지 스 니펫입니다.
스티븐

6

R 45 44 39 바이트

@ 주세페

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

@AaronHayman 편집

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

온라인으로 사용해보십시오!


1 바이트를 절약 할 수 "(I'm )있음"(.* )
Aaron Hayman

1
@AaronHayman, I'm a programmer탐욕 때문에 (많은 공간에서) 작동하지 않습니다
Nahuel Fouilleul

@NahuelFouilleul 오른쪽, 첫 번째 공백이나 마지막 공백이 고려되는지 확실하지 않습니다.
니코

1
좋아, 나는 바이트를 저장했고, 이것이 올바르게 작동한다고 생각한다 .
Aaron Hayman

2
다음 sub"I'm(.*)" and "Hi\\1, I'm R"사용하여 stdin에서 입력을 받아 to 및 3 바이트 를 변경하여 2 바이트 scan: 온라인 사용해보기
Giuseppe

6

PHP ,34 32 바이트

Hi<?=substr($argn,3)?>, I'm PHP!

온라인으로 사용해보십시오!

를 통해 입력 STDIN하고 -F 를 사용하여 호출하십시오.

$ echo I'm a Stack-Overflow-er|php -F dad.php
Hi a Stack-Overflow-er, I'm PHP!

$ echo I'm hungry|php -F dad.php
Hi hungry, I'm PHP!

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!$

미 조립 :

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!$"  

독립형 실행 가능 DOS 프로그램. 명령 행에서 입력, 화면으로 출력

여기에 이미지 설명을 입력하십시오

DAD.COM을 다운로드하여 테스트 하십시오 .

* 여기의 정확한 "언어"이름은 CPU 머신 코드가 실제로 공식적인 의미의 언어가 아니기 때문에 약간 모호합니다. 대상 플랫폼의 일반적으로 이해되고 허용되는 이름으로 "x86"을 사용합니다.


[메인 스레드에서 주석 아래로 이동] "x86"은 아키텍처이고 "MA SM"은 해당 아키텍처에서 사용 가능한 언어 중 하나입니다 (공백이 포함되어 있음).
Jonathan Allan

5
"x86"은 아마 괜찮을 것입니다. 결국 골프입니다 :)
Jonathan Allan


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는 이 Java 프로그램으로 생성됩니다 . 또한 -70두 공백 의 값 을 두 번 누르는 대신 두 번째 공백 "!ecapsetihW m'I ,"은 첫 번째 공간에서 복사 내장 기능으로 복사하여 몇 바이트를 저장합니다.


5

IBM / Lotus Notes 공식 언어, 61 62 바이트

!출력의 끝을 알지 못했기 때문에 +1 입니다.

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

편집 가능한 field에서 입력을받는 계산 된 필드 수식입니다 i. "I 'm a I 'm"에 실패하지만, 전혀 일어나지 않을 것이라고 생각하기 때문에 전혀 의미가 없습니다.

32 바이트에서 언어의 이름이 수식의 총 길이의 절반 이상이라는 것을 부끄러운 줄 아십시오!

입력 및 출력 예를 보여주는 아래 스크린 샷 :

여기에 이미지 설명을 입력하십시오


5
이름이 너무 길지 않으면 귀하의 언어가 직업에 도움이 될 것 같습니다 :)
connectyourcharger

내가 진지하다면 아마 FormulaNotes / Domino 개발자 커뮤니티에서 참조되는 방식으로 전화 할 것입니다 :-)
ElPedro

1
@PeterCordes-가능하지만 Lotus Notes / Domino에도 LotusScript가 내장 언어로 포함되어 있으므로 좀 더 구체적이어야합니다. ;-)
ElPedro

1
IBM이 IBM Notes로 브랜딩 한 후 IBM Domino로 다시 브랜딩 한 이후로 실제로는 그보다 약간 나아질 수 있습니다. 따라서 정확하게 수정하려면 "Hi @PeterCordes, 저는 IBM Domino Formula"입니다. :
ElPedro

1
내가 받아들이는거야 - @PeterCordes 만 언어 이름의 필수 부품이 필요합니다 PerlA에 대한 대체로서 Perl 5Perl 5 -p.
connectcharger

5

sed ( -r), 31 28 25 바이트

-r출력에 필요하지 않기 때문에 Shaggy -3 바이트 덕분에 -3 바이트

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

TIO



흠 ... 우리의 방법은 주위에 플래그를 계산하는 것은 당신이 생각하는, 그래서 그들에게 서로 다른 언어를 선언했다 할 수있다 필요 -r하지만, 그것을 계량을 할 가치가 점점 메타 것이다.
Shaggy

나는 perl 5 답변과 의견 때문에 제거
Nahuel Fouilleul


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 개의 문자가 여기의 다른 언어 이름들과 비교할 때 상당히 많기 때문에 어떻게 든 "Octave"를 쓰지 않고 검색하려고 시도했습니다. 불행히도, 만 찾을 수 있었고 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

온라인으로 사용해보십시오!


시원한! 입력은 어디에 있습니까?
connectcharger

@connectyourcharger가 설명을 추가했습니다. 입력은 STDIN입니다.
Value Ink

알았어 좋은 대답입니다!
충전기를 연결하십시오


4

배치, 22 + 3 = 25 바이트

@echo Hi %*, %0 Batch!

이 파일을 명명 +3 바이트 I'm(요구와 .bat배치 파일의 확장자). I'm hungry에코 할 때로 호출하십시오 Hi hungry, I'm Batch!.


프로그램은 수신해야 I'm하지만 여기에 스크립트 이름이 유효한지 알 수 없거나 현재 경로에 스크립트가있는 통역자가 아닌 경우
Nahuel Fouilleul

1
@NahuelFouilleul 인터프리터는 CMD실제로 2 바이트를 절약 할 수 있습니까?


4

펄 5 -p , 31 24 바이트

OP의 설명과 @NahuelFouilleul의 제안에 따라 줄이십시오.

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

온라인으로 사용해보십시오!



1
또한 $^X $]특수 변수를 사용할 수도 있지만 5보다 짧습니다.$]
Nahuel Fouilleul

당신이 할 필요가 인클루드하는 5언어의 이름과 같은 부분을? 즉, Perl 5가 "Perl"로서 "자체의 생각"이라고 주장 할 수 있습니까? Perl 6이 존재하기 전의 경우였으며, codegolf 답변은 적어도 하나의 언어 구현에서만 작동해야하므로 오래된 언어를 선택해야합니까?
Peter Cordes

OPPerl 가 충분하다는 것을 확인 합니다 . 그리고 -p옵션 사용이 언어 이름의 일부로 간주 될 필요는 없습니다.
Peter Cordes

4

젤리 ,  16  15 바이트

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

결과를 인쇄하는 (Python 형식) 문자열 인수를 허용하는 전체 프로그램입니다.

온라인으로 사용해보십시오!

어떻게?

Ḋ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
잠깐만, 젤리는 "젤리"라는 단어를 내장하고 있습니까?
connectcharger

3
@connectyourcharger 그것은 압축 사전 단어입니다
Nick Kennedy

아, 그건 말이됩니다
충전기를 연결하십시오

4

VBA (Excel), 27 28 바이트

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

입력은 Excel에서 활성 시트의 A1 셀에 들어가고 직접 실행 창에서 코드를 실행합니다.

그 사실을 활용 "SomeString"SomeValue하고 SomeValue"SomeString"암시 적으로 연결할 것이며,에서 세 번째 인수를 생략하는 것이 MID기능은 입력의 끝에서 모든 문자를 취할 것 -은 "초기 문자를 덤프"기능으로 돌려

(Shaggy 덕분에 1 바이트, OP가 모든 느낌표로 끝나야한다는 것이 확인되면 +1
)


1
뒤에 공백을 제거하고 다음 Hi으로 바꿀 54있습니까?
얽히고 설킨

@Shaggy ... 예, 가능합니다. 내가 놓친 방법을 모르고, 당신 감사 없습니다
Chronocidal

1
당신은 매우 마지막을 제거하여 바이트를 삭제할 수 있습니다 "이 솔루션에서, 당신이 표기 (대괄호)를 평가 사용할 때 그 표기법은 엑셀에서만 사용할 수 있습니다 당신은있는 엑셀 VBA로이 솔루션을 표시해야합니다
테일러 스콧


3

05AB1E , 23 21 바이트

Kevin Cruijssen 덕분에 2 바이트 절약

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

온라인으로 사용해보십시오!

설명

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

21 바이트 . 느낌표가 너무 나쁩니다. 왜냐하면 •äƵí•hR1 바이트보다 짧습니다 "05AB1E". :)
Kevin Cruijssen

@KevinCruijssen : 와우! 나는 ","로 시작하지 않은 바보 같은 느낌이 든다. 그래, 나도 시도했지만 •äƵí•hR, 아쉽게도 여기에 아무것도 저장하지 않습니다.
Emigna

3

QuadR , 22 바이트

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

온라인으로 사용해보십시오!

이것은 다음을 대체합니다.

^... 세 초기 문자

$ 행의 끝

Hi
그리고
,I'm QuadR
각각


따라서 중간 두 줄을 교환하고 언어를 Retina로 변경하고 @KevinCruijssen의 답변을 이길 수 있습니까?

@Neil 나는 그렇게 생각하지만, 당신은 여전히 ​​짧습니다. Tbf, QuadR은 의도하지 않은 골프 용 ⎕RAPL 운전자 를위한 얇은 덮개입니다 .
Adám

아,하지만 내 대답은 Retina 0.8.2가 아니라 Retina 1에서만 작동합니다.

3

망막 , 22 21 바이트

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

온라인으로 사용해보십시오! 링크에는 테스트 사례가 포함됩니다. Retina 0.8.2에서는 작동하지 않으므로 @ Adám의 QuadR 답변을 대신 적용하십시오. 설명 : 패턴이 비어 있으므로 입력 문자열의 모든 위치에서 일치합니다. 그러나 우리는 세 번째 (또는 네 번째가 작동 할 것) 만 필요합니다. 그런 다음 대체가 해당 경기에 적용됩니다. 이 대체 $'에서 문자열의 나머지 부분을 참조하고 문자열 $`의 시작을 나타냅니다.


3

레티 나 0.8.2 , 26 25 23 바이트

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

@attinat 덕분에 -1 바이트 . @ Adám 의 QuadR 답변
을 포팅하여 -2 바이트 이므로 그를 찬성 해야합니다!

추신 : @Neil 은 새로운 버전에서 더 짧은 Retina 답변을 게시 했으므로이 답변을 Retina 0.8.2로 명시 적으로 변경했습니다.

온라인으로 사용해보십시오.

설명:

처음 세 문자를 "Hi"로 바꾸십시오.

^...
Hi

그리고 마지막에 ", 나는 Retina입니다!" (문자열의 끝을 바꾸어) :

$
, I'm Retina!

1
이처럼 안 대신?
attinat

2
이상, 25 바이트
attinat

@attinat Ah는 물론 잘못된 출력을 보지 못했습니다 ..>.> -1 주셔서 감사합니다!
Kevin Cruijssen

3

bash, 24 바이트

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

TIO


대체 bash$0바이트의 몇 저장
roblogic을

1
@roblogic, $0스크립트 이름을 인쇄하거나 실행 bash -c 'echo Hi ${@:2}, $1 $0!' bash $@하지만 크기가 계산되어야 함
Nahuel Fouilleul
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.