絵文字コード、292バイト(140文字)
🏁🍇🔤Baby🔤➡️b🔤Daddy🔤➡️y🔤Mommy🔤➡️o🔤Grandpa🔤➡️g🔤Grandma🔤➡️a🔤 Shark🔤➡️s🔤 doo🔤➡️d🍨b y o g a🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m s d d d d d d🍪️❗️🍉😀🍪m s🔤!🔤🍪❗️🍉🍉
それを実行します
展開された:
🏁🍇
🔤Baby🔤 ➡️ b
🔤Daddy🔤 ➡️ y
🔤Mommy🔤 ➡️ o
🔤Grandpa🔤 ➡️ g
🔤Grandma🔤 ➡️ a
🔤 Shark🔤 ➡️ s
🔤 doo🔤 ➡️ d
🍨b y o g a🍆➡️f
🔂m f🍇
🔂i🆕⏩⏩0 3❗️🍇
😀🍪m s d d d d d d🍪️❗️
🍉
😀🍪m s🔤!🔤🍪❗️
🍉
🍉
説明(Emojicode文書による):
🍇🍉
{
および}
(コードブロックなど)と同じ
🏁
「プログラム開始」(例int main()
)
🔤Baby🔤 ➡️ b
変数の割り当て(例const char* b = "Baby";
)
🍨b y o g a🍆➡️f
ysと🍨の間の値のリストを作成し、(🍆️)をf
(例const char* f[] = {b,y,o,g,a};
)に割り当てる
🔂m f🍇 ... 🍉
この行はf
、エイリアスを使用して要素をループすることを示しています。m
ここで、the ...
はtheとbetweenの間のコードです。
🔂 i 🆕⏩⏩ 0 3❗️🍇 ... 🍉
この行は、範囲[0,3)でループすること...
を示しています。ここで、は🍉とbetweenの間のコードです。
😀🍪 ... 🍪️❗️
この行は、で指定された形式を印刷するように指示します...
(例printf("%s\n");
)
Cに翻訳されたコード:
#include <stdio.h>
int main() {
const char* b = "Baby";
const char* y = "Daddy";
const char* o = "Mommy";
const char* g = "Grandpa";
const char* a = "Grandma";
const char* s = " Shark";
const char* d = " doo";
const char* f[] = {b,y,o,g,a};
int m = 0, i = 0;
for (; m < 5; ++m) {
for (i = 0; i < 3; ++i) {
printf("%s%s%s%s%s%s%s%s\n", f[m], s, d, d, d, d, d, d);
}
printf("%s%s!\n", f[m], s);
}
return 0;
}
これに続いて、元のコード(後世のために以下に投稿)にはいくつかの問題がありました。ほとんどの場合、🏁🍇🍉ブロックは実行したい人には含まれておらず、絵文字は実際には適切にエスケープされていなかったため、ここにそのコードの実際の実行バージョンがあります:
修正されたオリジナル:Emojicode、224バイト(67文字)
🏁🍇🍨🔤👶🔤🔤👨🔤🔤🤱🔤🔤👴🔤🔤👵🔤🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️🍉😀🍪m🔤🦈!🔤🍪❗️🍉🍉
展開された:
🏁🍇
🍨
🔤👶🔤
🔤👨🔤
🔤🤱🔤
🔤👴🔤
🔤👵🔤
🍆 ➡️ f
🔂 m f 🍇
🔂 i 🆕⏩⏩ 0 3❗️🍇
😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️
🍉
😀🍪m🔤🦈!🔤🍪❗️
🍉
🍉
出力を生成します:
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈!
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈!
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈!
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈!
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈!
それを実行します
個々の絵文字が単語を表している場所:
👶 -> Baby
👨 -> Daddy
🤱 -> Mommy
👴 -> Grandpa
👵 -> Grandma
🦈 -> Shark
💩 -> doo
オリジナル:絵文字コード、138バイト(47文字)
🍨👶👨🤱👴👵🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀m🦈💩💩💩💩💩💩❗️🍉😀m🦈!❗️🍉
展開された:
🍨👶👨🤱👴👵🍆➡️f
🔂m f🍇
🔂 i 🆕⏩⏩ 0 3❗️🍇
😀 m 🦈💩💩💩💩💩💩❗️
🍉
😀 m 🦈!❗️
🍉