クインに戻る


12

ここでの課題は単純であり、バイトカウントに関するものではありません。あなたの仕事は、前のクインのソースコードの最初の50文字を、私が下に置いた50文字で始まるあなたの最初の50文字と連結して出力​​することです。

abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXY

したがって、ここで例を見てみましょう。05AB1Eで回答する場合、最初の50バイトを単純に出力するソリューションは次のようになります。

ži50£

これは、出力する必要があることを意味します:

abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXYži50£

プログラムが短い場合は、最初のx < 50文字を使用してください。プログラムが長い場合、最初の50文字のみを連結し、50番目の文字で終了します。次に、次の人は、自分のコードと連結されたクインの最初の50文字を出力する必要があります。

コードのサイズは任意ですが、前の回答のコードの最初の50バイトの最後に連結されたコードの最初の50文字のみを出力する必要があります。


制限事項:

これは、適切なquineの定義を使用し、これに加えて、次のものを使用します。

  • コメントは完全に禁止されています。
  • このセクションに注意を払い、不正なループホールが発生した場合は進化する可能性があります

連鎖応答の投稿方法:

  1. プレースホルダーを投稿する:
    • 回答番号と使用する言語に言及してください。
  2. 日付で並べ替え、他の誰かが1ミリ秒前にプレースホルダーを投稿したことに気付いた場合:
    • 削除して、次の機会を待ってください、ごめんなさい。
  3. 次のスポットを確保したら、6時間以内に回答してください:
    • 答えられない場合は、予約スペースを削除してください。
  4. スペースが6時間以上占有されている場合。
    • 予約済みスペースの削除に投票し、私が処理します。

投稿フォーマット:

#[Answer #]:[Character Count] Characters, [Language Used]

{TIO MARKDOWN}

{LINE_SEPARATOR="---"}

{ADDITIONAL EXPLANATION OR INFORMATION}

いくつかの具体的な注意事項(競争のしやすさにとって重要):

  • あなたの前の人がソースに改行または非ASCII文字を含めている場合、それらを削除することができます。これは手段x="a\nb"になりabx[0]=a;x[1]=b;
    • 前のソースに適用した突然変異を述べる必要があります。
  • コードページまたは言語エンコードにもかかわらず、すべての文字は単一の文字としてカウントされます。バイトカウントを使用せず、文字カウントを使用してください。

50th理由は、受け入れられた答えが答えになります。つまり、結局SEです。


コメントが禁止されているのはなぜですか?また、バイトを文字に再定義する代わりに、単に文字を使用しないのはなぜですか?
CalculatorFeline

@CalculatorFelineコメントを使用して、かなり下品で面白くない抜け穴を作ることができると思いますが、それは私だけです。最初のスポットを予約して、コメントで間違っていることを証明してください。禁止を解除します。
魔法のタコUr

5
適切なクインを定義するリンクされたメタ投稿には、無効なコードがないという言及は含まれていません。
Ørjanヨハンセン

1
コメントをどのように定義していますか?コメントはあまり明確に定義された用語ではありません。
ポストロックガーフハンター

1
また、文字とバイトという用語を入れ替えているように見えますが、これは少しわかりにくいです。最初の50文字またはバイトかどうかはよくわかりません。
ポストロックガーフハンター

回答:


7

1:96文字、Haskell

abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXY:z=['`'..'z']++'A':['C'..'Y']
main=putStr$z++z

オンラインでお試しください!


私はばかげていると感じ、最初の文字列まったく同じ 50文字から始まる最初のエントリを禁止するものは何も見ませんでした。

  • ['`'..'z']++'A':['C'..'Y']これらの文字の文字列を評価する式であり、`先頭に追加されます。
  • 結果変数が作り、上一致したパターンであるabcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXYに等しく'`'、そしてz50個の文字に等しいです。
  • main=putStr$z+z その後、実際の出力を行います。

このチャレンジがa-zA-Zで始まったのが大好きで、今では基本的にアルファベットではなくなりました。最初のプログラムの良い呼び出し。
魔法のタコ

5

5:76文字、絵文字コード

🏁🍇🍦a🔤s=:'"alert(eval(c="''abcdefghijklmnopqrstuvwxyzACD🔤😀🍪a🔤🏁🍇🍦a❌🔤🔤🔪a 0 45🍪🍉

オンラインでお試しください!


説明:

🏁🍇		👴 start
  🍦 a 🔤...🔤	👴 define variable a as that string
  😀    	👴 print:
    🍪		👴 combine those strings:
      a		👴 a, and:
      🔤🏁🍇🍦a❌🔤🔤	👴 string literal. the ❌🔤 works like \"
      🔪a 0 45	👴 between indexes 0 and 45 of a
    🍪
🍉		👴 end

1
アルファベットはゆっくりと消えています:O。
魔法のタコUr

書式設定のヒント:<pre><code>および</code></pre>を使用&#9;して、タブに使用できます。タブは、絵文字などの可変幅文字でも意図したとおりに整列します。...ところで、私はEmojicodeでQUINEを作成する方法について考えていたし、私はスクロールダウン
NieDzejkob

@NieDzejkob良いアイデア、ありがとう。
betseg

@betsegは、私にとっては少し離れていますが、とにかく読みやすくなっています。気に入ってくれてうれしい
NieDzejkob

@nieDzejkobいくつか?私のフォントでは、文字列リテラルのコマンドは長いのでオフになっています。
betseg

4

2:119文字、Javascript

alert(eval(c="'abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXY'+`alert(eval(c=${JSON.stringify(c).substr(0,37)}`"))

オンラインで試す(出力するconsole.log代わりに使用alert

このJSクインに基づいています。

古いバージョン(ソースコードを読む):

f=_=>`abcdefghijklmnopqrstuvwxyzACDEFGHIJKLMNOPQRSTUVWXYf=${(f+"").substr(0,48)}`;alert(f())

このJSクインに基づいて


関数はそれ自体を参照するため、これは適切なクインではありません。
シャギー

@Shaggy私は有効なものを追加
SuperStormer

1
@Shaggy自己参照関数は、定義により有効です。
アタコ


2

3:56文字、SOGL

"alert(eval(c="'abcdefghijklmnopqrstuvwxyzACDEFGHIJ”1#Οj

ここで試してみてください!

説明:

"...”      push the first 50 bytes of the previous answer
     1#Ο   wrap a quote around with that
        j  take the last letter off, as my answer has one more byte for the starting quote.

Javascriptの回答には引用符が含まれていたため、開始引用符を追加する必要がありましたが、これはコードゴルフではないので、問題ではありません。



2

7:137文字、Java 8

v->{String t="⛽as=:'\"alert(eval(c=\"''abcdefghijklmnopqrstuvwxyzA";return t+("v->{String t=\""+t.replace("\"","\\\"")).substring(0,50);}

オンラインでお試しください。

説明:

v->{        // Method with empty unused parameter and String return-type
  String t="⛽as=:'\"alert(eval(c=\"''abcdefghijklmnopqrstuvwxyzA";
            //  String containing the first 50 characters of the previous answer
  return t  //  Return those first 50 characters
   +"v->{String t=\""+t.replace("\"","\\\"")).substring(0,50);}
            //  Concatted with the first 50 characters of my answer
            //  with correct escape-slashes

あぁ!私は絵文字がこの挑戦を永遠に殺したと思った。良いですね。
魔法のタコ

@MagicOctopusUrn私は今、「あなたの前の人がソースに改行または非ASCII文字を含めた場合、それらを取り除いてもよい」というあなたのルールに気づくだけです。私の答えでは、いずれにしてもバイトではなく文字でカウントしているので、どちらの方法でもかまいません。
ケビンクルーッセン

それは正直、キャラクターの数に関するものではなく、はい、私はそのルールを忘れていました(さらに一般的な挑戦について忘れていました)。
魔法のタコ

正直なところ、考えてみてください。これは本当に簡単な挑戦ではありませんか?
魔法のタコ

@MagicOctopusUrnそれはちょっとです 基本的に、ウマの最初の50文字を取得します。Javaでは、クインは通常、フォーマットされていないソースコードを文字列に入れてから、二重引用符とスラッシュを正しくフォーマット/エスケープすることによって形成されます。ただし、Java 8の基本的なクインラムダ関数は既に88バイトです(オンラインで試してみてください)。したがって、Javaでは、フルクインを使用しなくてもこの課題ははるかに短くなります。とはいえ、ほとんどの言語でクインが最良のアプローチだと想像できます。
ケビンクルーイッセン

1

6:70文字、絵文字

⛽as=:'"alert(eval(c="''abcdefghijklmnopqrstuvwxyzAC🚘👥💬⛽💬🔀👫💬0💬📥💬-1💬📥✂👫➡

オンラインでお試しください!

末尾の改行を出力しないようにすることは不可能のようです。それで問題なければ、答えを削除します。

説明:

⛽ ... 🚘	String literal
👥		Duplicate
💬⛽💬		Push ⛽ as a string
🔀		Swap the top two strings. Stack: [long literal] "⛽" [long literal]
👫		Concatenate.
💬0💬📥💬-1💬📥✂	Remove the last character
👫		Concatenate.
➡		Print.

⛽🏁🍇🍦a🔤s=:'"alert(eval(c="''abcdefghijklmnopqrstuvwx🚘👥💬⛽💬🔀👫💬0💬📥💬-1💬📥✂👫➡代わりにすべきではありませんか?betsegの絵文字コードの答えはas=:'"alert(eval(c="''abcdefghijklmnopqrstuvwxyzAC🏁🍇🍦a🔤s=:'"alert(eval(c="''abcdefghijklmnopqrstuvwxではなく、代わりに始まります。
ケビンクルーッセン

@KevinCruijssenIf the person before you has included newlines or non-ASCII characters in their source, you may STRIP them.
NieDzejkob

ああ、私はそのルールを逃しました。その場合、答えを更新します。
ケビンクルーッセン

好奇心から、なぜあなたはそれらを取り除きましたか?将来の回答を簡単にするために?前の答えの絵文字を削除せずにコードが完全に実行されるため:ここで試してみてください
ケビンクルーイッセン

@KevinCruijssen半年前です。覚えていない。
-NieDzejkob

1

12:202文字、ルビー

puts "21ipdgmtwkkke7ynvzpcnlzt7kl".to_i(36).to_s(7).gsub('0','>').gsub('1','+').gsub('2','-').gsub('3','<').gsub('4','[').gsub('5','.').gsub('6',']')+'puts "21ipdgmtwkkke7ynvzpcnlzt7kl".to_i(36).to_s(7'

オンラインでお試しください!


前の回答の最初の50文字をベース7にエンコードします

  • 0:>
  • 1:+
  • 2:-
  • 3:<
  • 4:[
  • 5:。
  • 6:]

次に、ベース21に変換して「21ipdgmtwkkke7ynvzpcnlzt7kl」を取得します


0

9:55文字、ゼリー

“"v->{String t=`"as=:'\`"alert(eval(c=\`"''abcdefg”;”“;

オンラインでお試しください!


非ASCII文字を出力から削除しました。これは許可されており、Jellyがそれを無視していたためです。

説明

これは、前の回答の最初の50文字(マイナス)の文字列リテラルで始まり、それに文字を;”“追加し、最後に元の文字列リテラルを最後に再度追加します;。文字が削除されたため、ソースコードの最初の50文字は、このプログラムを非常に短くすることができる前にある前の回答の49文字です。(はい、これははありませんが、できればゴルフをしませんか?)


0

10:116文字、Python 3

print('''“"v->{String t=`"as=:'\`"alert(eval(c=\`"''abcdefgprint(\'\'\'“"v->{String t=`"as=:'\`"alert(eval(c=\`"''')

回答9の最初の50文字とそれに続く独自のソースの最初の50文字で構成される文字列を単に印刷します。クインのような賢さは必要ありません、エスケープされた引用符(\'\'\')は50番目の文字の後に表示されるため、出力で再現する必要はありません。

この方法は、事実上すべての言語で機能します。前の回答で表示された引用文字をエスケープする必要があります。したがって、私はこの挑戦に多くの挑戦があるとは思わない。


0

11:723キャラクター、Brainf ***

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

印刷できない文字を剥ぎ取りました。Brainfuck Text Generatorによってほぼ完全に生成されますます。怠けていることもありますよね?

TIO

Print [print('''"v->{String t=`"as=:'\`"alert(eval(c=\`"] +[------->++<]>++.++.---------.+++++.++++++.+[--->+<]>+.-...-----------.++++++.[----->++<]>++.--[++>---<]>-.---[-->+++<]>-.[->++<]>-.[--->++<]>+.[--->+<]>+++.--.---------.+++++.-------.-[--->+<]>--.---[->++++<]>.[-->+<]>+++.+++[-->+++<]>.[->+++<]>++.+[--->+<]>.--[--->+<]>--.+[-->+<]>+++.---.-[--->++<]>+.+[------>+<]>.++++.[->+++<]>++.+[--->+<]>.+++++++++++.-------.+++++++++++++.++.+[--->+<]>+.+[--->+<]>++.[--->+<]>-.[->+++<]>-.+++++++++++.[--->+<]>++++.+[--->+<]>.[--->++<]>-----.+[-->+++<]>-.++++.[->+++<]>++.
Clear all cells to left until first empty cell [[-]<]
Print [+[------->++<]>++.++.---------.+++++.++++++.+[--->] ++[------>+<]>.++[->++<]>+.-[-->+<]>.......---[-->+++<]>-.+[--->++<]>+..+[----->+<]>.++[-->+++<]>.[--->++<]>.+[--->++<]>+..+++.---..+++.-.........+.---.....+++.---......+++.---.++[->++<]>+.-[-->+<]>...---[-->+++<]>-.

Brainfuckの回答の最初の50文字ではなく、2番目から51番目の文字を印刷するようです(最初のがありません>):オンラインで試してください。また、あなたのBrainfuckの答えは現在、印刷不能として出力しているため、キャラクターをドロップすることもできます ``。
ケビンCruijssen

>冒頭には、偶発的に加えていたようだ、と私はドロップされた文字を。他の答えに基づいて、最初の49文字だけを印刷する必要があると思います。
-Panda0nEarth
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.