真正的苗条遮荫


43

以尽可能少的字节回显以下内容:

I'm Slim Shady. Yes, I'm the real Shady.
All you other Slim Shadys are just imitating.
So, won't the real Slim Shady please stand up?
Please stand up. Please stand up.

以下五个单词必须在您的代码中完全出现一次

I'm
Slim
Shady
real
stand


32
现在那首愚蠢的歌在我脑海中。
Darth Egregious

如果程序输出的内容多于全文,可以吗?就是 将歌词包含在括号中。
Sylwester 2014年

@Sylwester只要遵循规则,就可以按照需要进行编码。
rybo111 2014年

这真的是kolmogorov复杂性吗?的确,任何具有正确输出的程序都会限制上面的Kolmogorov复杂度,但是额外的约束似乎有可能迫使非最佳程序。
彼得·泰勒

@PeterTaylor您可能是对的-我将其留给社区进行编辑或不编辑。
rybo111 2014年

Answers:


28

蟒蛇:176

print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm ","Slim ","Shady","the real ","lease stand up")

自然,与其他压缩解决方案具有相同的想法(尽管是独立获得的)。


1
我错误地投票了这一票。抱歉。(如果您进行了任何更改,我想我可以删除
下降表决

@ edc65:感谢您的诚实:)我编辑了答案。
nneonneo

您只需重新使用空格就可以减少3个字节。print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other{1}{2}s are just imitating.\nSo, won't{3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm"," Slim"," Shady"," the real","lease stand up")
feersum

25

Brainfuck 1923字节

请享用...

-[------->+<]>.+[-->+<]>++.---[->+++<]>+.
[->+++++<]>-.>-[--->+<]>--.--[--->++++<]
>.---.++++.[->+++++<]>-.>-[--->+<]>--.>+
[----->+++<]>+.-------.+++.+[--->+<]>++.
-----[++>---<]>.++[--->++<]>.--[->+++<]>-.
[->++++<]>+.[--->+<]>----.-[++>---<]>+.
------------.++++[->++<]>+.+[-->+<]>++.---
[->+++<]>+.[->+++++<]>-.---[->++++<]
>.------------.---.--[--->+<]>-.---[----->++<]
>.-------------.----.+++++++++++.[++>---<]
>--.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-----[++>---<]>.>
++++++++++.+++[->+++++<]>.[--->+<]>+..
[++>---<]>--.--[->++++<]>+.----------.++++++.-
[---->+<]>+++.+++++[->+++<]
>.+++++.------------.---.+++++++++++++.
[-->+++++<]>+++.>-[--->+<]>--.--
[--->++++<]>.---.++++.[->+++++<]>-.>-
[--->+I'm<]>--.>+[----->+++<]>+.-------.+++.+
[--->+<]>++.------.+[---->+<]>+++.[->+++<]>+.--
[--->+<]>---.-------------.--[--->+<]>-.-
[--->++<]>.+++++++++++.--.+.
[---Slim->+<]>+++.-[--->++<]>-.++++.----.
+++++++++++.+[->+++<]>++.--[--->+<]
>-.-----------.+++++.-------.--[->+++<]>-.
>++++++++++.>-[--->+<]>--.[--->+<]>--.
[->+++++<]>+.------------.--[->++++<]>-.
--------.-.[++>---<]>++.[->+++<]>-.[---->+
<]>+++.---[->++++<]>.------------.---.--[---
>+<]>-.---[----->Shady++<]>.-------------.-
---.+++++++++++.[++>---<]>--.>-[--->+<]
>--.--[--->++++<]>.---.++++.[->+++++<]
>-.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-[---->+<]>++.[-->+++++++<]
>.----.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[--->++++<]>-.>
++++++++++.[->++++++++<]>.+[--->++++<]
>.---real----.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]>-.---
[->++++<]>+.-----.[->+++++<]>--.++[--->++<]
>.[-->stand+++++<]>.+[--->++++<]>
.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[->+++++<]>--.

标准环孔


不包括五个字。
nwp

6
也许可以向右滚动,但是我会编辑帖子,以免您过分...
Joshpbarron 2014年

我确实滚动了,但不知何故错过了这些话,对不起。
nwp

现在很清楚!
edc65

1
我想出了1918个字符,但我不知道这些字符中的任何一个都超出了正常范围,因为它们会增加额外的字节数。我还不知道另一种计数字节的方式,所以我想说1918
-Malachi 2014年

17

佩尔155

通过改进马丁布特内尔Thaylon

$_="01. Yes, 02X.
All you other1s are just imitating.
So, won't21 p3?
P3. P3.";s/\d/("I'm"," SlimX"," the real","lease stand up")[$&]/ge;s/X/ Shady/g;print

@MartinBüttner很棒的建议。谢谢:-)
吱吱作响的ossifrage

您可以省略最后一个;太。
Thaylon

2
爱“其他所有人的音乐”部分
William Barbosa 2014年

在“”处移动157:$ _ =“ 01。是的,032。你们所有的其他人都只是在模仿。所以,不会是p4?P4。P4。”; s / 0 / I'm / g; s / 1 / Slim2 / g; s / 2 / Shady / g; s / 3 / real / g; s / 4 / lease stand up / g; print
Thaylon

地雷现在是如此相似,而我后来才被发现,所以我将其删除。您可以通过以下方式获得另外2个字节:$ _ =“ 01。是,02X。您所有其他人都只是在模仿。所以,不会是p3吗?P3。P3。”; s / \ d /(“ I'm”, “ SlimX”,“ real”,“ lease stand up”)[$&] / ge; s / X / Shady / g; print
Thaylon 2014年

12

Ruby,154个字节

$><<"012. Yes, 032.
All you other12s are just imitating.
So, won't312 p4?
P4. P4.".gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}

在帮助了一些如何拆分填充字符串的人之后,我决定尝试一下他们的替代回调想法。;)


1
您可以保存一些字符:#{h+a}短于"+h+a+",并且#{d+h+a}短于"+d+h+a+"
ProgramFOX 2014年

1
@ProgramFOX oO ...我很say愧地说我只想到了#{h}#{a}
马丁·恩德

可以节省更多h=" Slim"+a=" Shady",而替换puts $><<
histocrat 2014年

154 with.gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}
Ventero

@Ventero谢谢!:)
Martin Ender 2014年

9

JavaScript(E6)165

另一种语言一样

alert("012. Yes, 05326All you other12s are just imitating6So, won't5312 p4?\nP4. P4."
.replace(/\d/g,x=>"I'm1 Slim1 Shady1real1lease stand up1 the 1.\n".split(1)[x]))

说明:将第一个字符串中的每个数字替换为数组中的相应字符串 ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

在PPCG上使用新规则进行了修订(功能返回的输出,对功能的挑战没有任何限制,可以更新为158)。请参见代码段

F=
_=>`012. Yes, 0532.
All you other12s are just imitating.
So, won't5312 p4?
P4. P4.`.replace(/\d/g,x=>"I'm, Slim, Shady,real,lease stand up, the ".split`,`[x])

console.log(F())


1
疯狂的狗屎,我喜欢
约翰·史密斯

好的实现:)您可以通过在replace函数中使用模板文字并用\n实际的换行符代替来保存字节。
毛茸茸的

@Shaggy我可以使用模板文字做得更好,但是它们当时未在任何浏览器中实现(2014
edc65

知道了 这是否会使我的答案无效,因此,看到在定义模板文字的规范标准化之前发布了此问题?
毛茸茸的

1
@JacobPersi看看
edc65

6

果酱-133

"I'm| Slim| Shady| the real|lease stand up|432. Yes, 412.
All you other32s are just imitating.
So, won't132 p0?
P0. P0."'|/~5,{`/\*}/

http://cjam.aditsu.net/上尝试

我认为,如果您替换为'|,它也可以在GolfScript中使用"|"


7
你们其他所有的三十二岁只是在模仿。那么,一三两小便会不会?裴泽禄 裴泽禄 从现在开始,这就是我的脑海中的声音。:P
丹尼斯

6

GolfScript,162个 154 152 144字节

"I'm ":i"Slim ":|"Shady":y". Yes, "i"the real ":!y".
All you other "|y"s are just imitating.
So, won't "!|y" p""lease stand up":l"?
P"l". P"l"."

在线测试


3
您可以通过更换保存8个字节\n,并n与实际换行,并选择非字母数字变量名称(例如,&),以消除他们周围的空白。
丹尼斯

@丹尼斯非常感谢!我编辑了答案。
ProgramFOX

战争已经开始。
Josiah Winslow 2014年

5

VBA 307字节

并用行分隔符混淆(只是为了好玩)。根据这个答案

Function p()
e = "Slim ": m = "Shady": i = "I'm ": n = "lease stand up": s = "real ": a = "."
p = i & e & m & ". Yes, " & i & "the " & s & m & a & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & s & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & a
End Function

从的即时窗口调用?p

307包含?p


1
哦,我在即时窗口中看到了?P,+ 1
Alex

您应该摆脱a = "."掉,我认为您可以删除一些字节
Malachi 2014年

实际上,经过深思熟虑,我认为使用行分隔符和换行符更具可读性……
RubberDuck 2014年

您不能摆脱运营商之间的空白吗?
玛拉基2015年

1
@Malachi根据规范,是的,但是实际的实现会在您身上强制使用空格。如果我是用VBScript编写的,则可以将其缩短一点。
RubberDuck

5

PHP-151字节

<?="I'm Slim Shady".gzinflate("]Œ1
„0E{Á;üÎFr…ÅÒNHe9à°F&‰d&,Þ~Avmßûï;̬=Æ.ÂVFaø•–ÃµÍ ‚#WäÓx    ñR
*Œ­ª!Ä`d!½Ï¹Ï=>9uöót7Ø…Ij”ÔýÕ6Ó?qx‚/");@realstand;

十六进制转储:

0000000 3f3c 223d 2749 206d 6c53 6d69 5320 6168
0000010 7964 2e22 7a67 6e69 6c66 7461 2865 5d22
0000020 318c 840a 1030 7b45 3bc1 cefc 7246 c585
0000030 4ed2 6548 e039 46b0 8926 2664 de2c 057e
0000040 7641 df6d effb cc3b 3dac 2ec6 56c2 6146
0000050 f812 9695 b5c3 20cd 2382 e457 14d3 0978
0000060 52f1 2a0a ad8c 21aa 60c4 2164 cfbd cfb9
0000070 3e3d 7539 f3f6 3774 85d8 1949 946a d416
0000080 d5fd d336 713f 8278 222f 3b29 7240 6165
0000090 736c 6174 646e 003b
0000097

不使用gzinflate的另一个答案(228字节):

读取短裤(16位),提取3个5位整数作为查找表的索引。

<?$a=str_split(" .Yes,AlyouthrajimngSw'pP?
")+[27=>"I'm ",'Slim ',@Shady,'the real ','lease stand up'];$b=unpack(@v26,'o…~:tç       (ƒ-4€t£9ê`0BË-SBT $2U`Y{ÿXg |ác');foreach($b as$c)echo$a[$c>>10],$a[$c>>5&31],$a[$c&31];

十六进制转储:

0000000 3f3c 6124 733d 7274 735f 6c70 7469 2228
0000010 2e20 6559 2c73 6c41 6f79 7475 7268 6a61
0000020 6d69 676e 7753 7027 3f50 220a 2b29 325b
0000030 3d37 223e 2749 206d 2c22 5327 696c 206d
0000040 2c27 5340 6168 7964 272c 6874 2065 6572
0000050 6c61 2720 272c 656c 7361 2065 7473 6e61
0000060 2064 7075 5d27 243b 3d62 6e75 6170 6b63
0000070 4028 3276 2c36 9d27 026f 8504 7e0c 3a03
0000080 e774 0918 0901 8328 1c2d 8034 a374 ea39
0000090 6001 3011 cb42 532d 5442 a007 3224 6055
00000a0 9d59 ff7b 5802 2067 e17c 2763 3b29 6f66
00000b0 6572 6361 2868 6224 6120 2473 2963 6365
00000c0 6f68 6124 245b 3e63 313e 5d30 242c 5b61
00000d0 6324 3e3e 2635 3133 2c5d 6124 245b 2663
00000e0 3133 3b5d
00000e4

5

C,374

通过移动内存

不是最短的,但是可以更快吗?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *s;
void m (int d, int f, int p)
{
    memmove (s+p+f, s+p, strlen(s)-p+1); // Shift a part of the string to make room for our insertion
    memcpy (s+p, s+d, f); // Copy the desired reference in place
}
int main ()
{
    s = malloc (168);
    strcpy (s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");

    m (0, 4, 21);
    m (8, 6, 33);
    m (3, 11, 54);
    m (28, 5, 100);
    m (3, 11, 105);
    m (118, 14, 135);
    m (134, 16, 151);
    puts (s);
}

缩小后的长度为374个字符。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*s;void m(int d,int f,int p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}int main(){s=malloc(168);strcpy(s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);}

不错,但是您可以打高尔夫球到278字节:char s[168]="I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ";m(d,f,p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}main(){m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);}
Johan du Toit

5

爪哇,247

我第一次学习高尔夫,同时学习Java。发布它是因为它击败了其他(功能齐全)的Java条目和Haskell条目。

class S{public static void main(String[]a){String s="I'm",t=" Slim",u=" Shady",v=" the real",w="lease stand up";System.out.print(s+t+u+". Yes, "+s+v+u+".\nAll you other"+t+u+"s are just imitating.\nSo, won't"+v+t+u+" p"+w+"?\nP"+w+". P"+w+".");}}

5

C#209 205 201 197 209 212 217

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.", "I'm ","Slim ","Shady","the real ","lease stand up");}}

现在有了适当的大写字母和新行


1
您可以通过将空格从格式字符串移动到替换字符(例如)来节省更多字符WriteLine("{0}{1}","I'm ","Slim ")
NightElfik

1
末尾的换行符似乎不是必需的,因此请考虑使用.Write()代替.WriteLine()。即使需要,.Write()带a \n也较短。
鲍勃

谢谢@鲍勃,再救了我四个拜拜!即使在我的VB答案上也是如此!
玛拉基2014年

您没有大写
字母

@TopinFrassi,我将其固定在此答案以及我的VB答案上。我也错过了一个空间。我现在正在询问输出中的新行...
Malachi 2014年

5

VB 253 249 245 241 244 285 259 223

我讨厌换行

Module M
Sub Main
Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.{5}All you other {1}{2}s are just imitating.{5}So, won't {3}{1}{2} p{4}?{5}P{4}. P{4}.","I'm ","Slim ","Shady","the real ","lease stand up",vbCr)
End Sub
End Module

现在,输出中有适当的大小写和换行符,并且没有制表符 *

谢谢VB的帮助 vbCrLf

谢谢@Taylor Scott!


我不知道这是否会在没有标签和换行的情况下运行?
玛拉基2014年

它不会让我进入Visual Studio 2013
Malachi


1
@TaylorScott,显然,它现在允许您在没有缩进的情况下对其进行编码。也许这只是适合您的Mono
Malachi

据我所知,是的,编译器可以解析的内容在很大程度上取决于您所使用的版本-特别是回到VB 6.0及更高版本
Taylor Scott

4

VBA 343字节

Sub EMINEM()
e = "Slim "
m = "Shady"
i = "I'm "
n = "lease stand up"
em = "real "

MsgBox i & e & m & ". Yes, " & i & "the " & em & m & "." & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & em & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & "."

End Sub

1
很好的实现方式
玛拉基2014年

感谢Malachi,作为Eminem的老粉丝不能错过这个高尔夫运动。
Alex

我正在研究一个。
玛拉基2014年

2
很高兴看到有人在VBA中打高尔夫球。但是,您不能打印到直接窗口?吗?
RubberDuck

1
@ ckuhn203“?” 更改为'print',但我需要debug.print,以便每次我使用“?”时都会搞砸。请随时指出我是否可以在这里完成,谢谢!
Alex


3

PHP - 196 171

<?$S="Shady";$P="lease stand up";$R="the real ";$I="I'm ";$s="Slim ";echo"$I$s$S. Yes, $I$R$S
All you other $s$S"."s are just imitating.
So, won't $R$s$S p$P?
P$P. P$P."

;


3

LUA 201 193 188 178

h=" Shady"i="I'm"s=" Slim"..h r=" the real"u="lease stand up"io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

取消高尔夫并扩展一些

h=" Shady"
i="I'm"
s=" Slim"..h
r=" the real"
u="lease stand up"
io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

3

常见的Lisp,197

(let((a"I'm ")(b"Slim ")(c"Shady")(d"real ")(e"lease stand up"))(format t"~{~A~}"(list a b c". Yes, "a"the "d c".
All you other "b c"s are just imitating.
So, won't the "d b c" p"e"?
P"e". P"e"")))

3

Perl,161164字节

不像ososifrage的回答那么短,但是我想分享CamelCaseCompression,它没有人使用过,并允许删除许多空格和引号。

不过,确实需要更长的文字才能真正受益。

$_="0 1 2. Yes, 03 2.
AllYouOther 1 2sAreJustImitating.
So, won't3 1 24?
4. 4.";s/\d/qw(I'm Slim Shady TheReal PleaseStandUp)[$&]/ge;s/\B([A-Z])/ \L\2/g;print

编辑:按照Thaylon的建议,s/(\S)([A-Z])/\1 \L\2/g替换已缩短了四个字符。但是,这在逗号大写字母上没有体现,因此必须在“不会”之前插入一个额外的空间。


有趣。稍短一些,“没有单词边界”:s / \ B([AZ])/ \ L \ 1 / g;
Thaylon 2014年

谢谢@Thaylon。\ B是我必须要阅读的内容。有点奇怪。
出色

3

PYTHON:198个 193字节

i,s,h,r,t="I'm ","Slim ","Shady","real ","lease stand up"
print i+s+h+". Yes, "+i+"the "+r+h+".\nAll you other "+s+h+"s are just imitating.\nSo, won't the "+r+s+h+" p"+t+"?\n"+"P"+t+'. P'+t+'.'

移动please到变量保持stand up和摆脱你的g变量,并可能删除/n你不需要他们

如果删除\ n,则换行符将消失,并且我认为这些对于输出来说是必需的。
RageCage 2014年

3

Golfscript-140(可发布)

"I'm"" Slim"" Shady"". Yes, "3$" the real"3$".
All you other"6$2$"s are just imitating.
So won't"5$3$3$" p""lease stand up""?
P"1$". P"1$"."

我是Slim Shady。是的,真正的3。

其他所有62岁的人都只是在模仿。

533请不要站起来吗?

P1。P1。


3

(全程序),183 180 178 173 172字节

178-> 173个字节,这要归功于Sara J

fn main(){print!("{}{}{}. Yes, {0}{}{2}.
All you other{1}{2}s are just imitating.
So, won't{3}{1}{2} p{}?
P{4}. P{4}.","I'm"," Slim"," Shady"," the real","lease stand up")}

在线尝试!



@SaraJ Ofc,显然!谢谢:)
ruohola

2

C#226

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0} the{3} {2}.All you other{1}{2}s are just imitating.So, won't the{3}{1}{2} please{4}up?Please{4}up. Please{4}up.","I'm"," Slim ","Shady"," real"," stand ");}}

您错过了一些可以删除一些字符的地方,请检查一下。 codegolf.stackexchange.com/a/35557/9435
玛拉基

2

Java 308 301 298 292 258

Java有点冗长,但这是我的尝试:

class P{public static void main(String[]c){String s=" Shady",t=" the real",l="lease stand up",i=" Slim",m="I'm";System.out.format("%s%s%s. Yes, %s%s%s.\nAll you other%s%ss are just imitating.\nSo, won't%s%s%s p%s?\nP%s. P%s.",m,i,s,m,t,s,i,s,t,i,s,l,l,l);}}

1
您可以1-合并'real'和'the',它们总是在一起2-从大格式字符串中删除一些空白3-最重要的是:使用更多的单个变量,数组没有用。总而言之,您可以访问
〜270

@ edc65我不知道无需编写String多次就可以在Java中声明多个字符串。这就是为什么我只有一个变量才拥有所有数组的原因。非常感谢您的提示。
2014年

2

MySQL的:273 267

set @i="I'm", @s="Slim", @h="Shady", @r="real", @t="stand", @p="lease stand up";select concat(@i," ",@s," ",@h,". Yes, ",@i," the ",@r," ",@h,".\r\nAll you other ",@s," ",@h,"s are just imitating.\r\nSo, won't the ",@r," ",@s," ",@h," p",@p,"?\r\nP",@p,". P",@p,".");

2

红宝石:211

这是令人印象深刻的,因为仅打印文本会更有效,但这会更酷。

puts Zlib.inflate("eJxdjDEKwzAQBHu9Yjs3Rl8ILt0FVKU88GErnCWhO2H8e6sIwUmzxQyz87AjSOyz0XJ6vFhHzB3axqhM8hFuEsGZG3IX9ZYoqDLeTQ1xj0YW0+pdyCOOnAa7/XwTFGFShhqlBa083PMXePyDC15NOP8=".unpack("m0")[0])#I'mSlimShadyrealstand

2

JavaScript的259 240 238字节

不太好,但不妨发布答案。

b=String.prototype,b.a=b.replace,alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4.".a(/1/g,"I'm ").a(/2/g,"Slim ").a(/3/g,"Shady").a(/4/g,"lease stand up").a(/5/g,"real ").a(/6/g,"the ").a(/7/g,".\n"))

可读性更高的版本:

b=String.prototype
b.a=b.replace
alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4."
    .a(/1/g,"I'm ")
    .a(/2/g,"Slim ")
    .a(/3/g,"Shady")
    .a(/4/g,"lease stand up")
    .a(/5/g,"real ")
    .a(/6/g,"the ")
    .a(/7/g,".\n")
    )

2

F#,250 242

[1..21]|>List.iter((function|1|5->"I'm "|2|9|13->"Slim "|4->". Yes, "|6|12->"the real "|8->".\nAll you other "|11->"s are just imitating.\nSo won't "|15->" p"|16|18|20-> "lease stand up"|17->"?\nP"|19->". P"|21->"."|_->"Shady")>>printf "%s")

带有换行符的可读性更高的版本:

[1..21]|>List.iter((function
|1|5->"I'm "
|2|9|13->"Slim "
|4->". Yes, "
|6|12->"the real "
|8->".\nAll you other "
|11->"s are just imitating.\nSo won't "
|15->" p"
|16|18|20-> "lease stand up"
|17->"?\nP"
|19->". P"
|21->"."
|_->"Shady")>>printf "%s")

2

JavaScript的(ES6),165个 163字节

f=

_=>`${a="I'm"}${b=` Slim${c=` Shady`}`}. Yes, ${a+(d=" the real")+c}.
All you other${b}s are just imitating.
So, won't${d+b} p${e="lease stand up"}?
P${e}. P${e}.`

console.log(f());


2

PHP,179字节

<?
$i="I'm";
$s=" Slim";
$h=" Shady";
$p="lease stand up";
$r=" the real";
echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";

和打高尔夫球

<?$i="I'm";$s=" Slim";$h=" Shady";$p="lease stand up";$r=" the real";echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.