In dieser Frage erhält jede Antwort eine "Toolbox", mit der ein Programm / eine Funktion erstellt werden kann. Die Toolbox besteht aus zwei Dingen:
eine Liste der Programmiersprachen
eine Liste der gültigen Zeichen
Sie müssen ein gültiges Programm / eine gültige Funktion in einer der bereitgestellten Sprachen schreiben und nur die Zeichen in der Toolbox verwenden. Ihr Programm / Ihre Funktion sollte die Anzahl der Antworten ausgeben, die bereits auf diese Frage vorhanden sind.
Sobald Sie eine Antwort geschrieben und gepostet haben, werden die von Ihnen verwendete Sprache und die Zeichen aus der Toolbox entfernt, und 1 neue Sprache und 8 neue Zeichen werden nach dem Zufallsprinzip hinzugefügt, um als Toolbox für die nächste Antwort verwendet zu werden.
Regeln
Jede Antwort wird:
- Geben Sie die Anzahl der gültigen Antworten aus, die davor stehen
- Enthält eine Teilmenge der Zeichen, die in der Toolbox für diese Antwort enthalten sind. (Wiederholungen sind erlaubt)
- Seien Sie in einer der Sprachen aus der mitgelieferten Toolbox
Die nächste Toolbox wird von diesem Python-Programm bestimmt. Um die nächste Toolbox zu generieren, geben Sie die verbleibenden Sprachen und Zeichen zusammen mit der Beitrags-ID der letzten Antwort ein.
Die Sprachliste hier enthält alle Sprachen, die zum Zeitpunkt dieses Beitrags bei try it online verfügbar waren. Die Zeichen haben den Zeichencode 0-127.
Sie können entweder ein vollständiges Programm oder eine Funktion als Antwort schreiben. Da es sich bei REPLs um verschiedene Sprachen handelt, sind sie nicht zulässig. (Verwenden Sie die TIO-Version jeder Sprache)
Wenn eine Sprache eine spezielle Kodierung verwendet, sollten die Zeichen als Bytes interpretiert werden (aus ASCII dekodiert und mit einer Null aufgefüllt).
Die Start-Toolbox wird nach dem Zufallsprinzip aus der Post-ID ( 128464 ) zusammengestellt. Es werden 7 Sprachen gestartet, und ich werde die Zeichen
echoprint0
und ASCII 0-31 kostenlos hinzufügen , um die Leute zum Laufen zu bringen.Sie dürfen nicht zweimal hintereinander antworten
Wertung
Jedes Mal, wenn eine Person antwortet, erhält sie eine Reihe von Punkten für ihre Antwort. Das Ziel ist es, so viele Punkte wie möglich zu bekommen. Für eine Antwort in Sprache X erhalten Sie so viele Runden, wie Sprache X in der Toolbox nicht mehr verwendet wurde. Zum Beispiel bekommt die erste Person, die antwortet, 1 Punkt, weil die Sprache gerade zur Toolbox hinzugefügt wurde. Es wird nicht unbedingt ein Ende geben und ich werde keine Antworten akzeptieren.
Sporting
Dies ist ein Wettbewerb, aber ich ermutige Sie, den Spaß über das Gewinnen zu stellen, während Sie wettbewerbsfähig bleiben (wenn ich die Gewinnkriterien so gestalten könnte, dass es Spaß macht, würde ich es tun). Einige Dinge, die keinen Spaß machen:
- Wenn Sie absichtlich Charaktere verwenden, müssen Sie zukünftige Antworten nicht verkneifen.
- Der Versuch, das Post-ID-System zu spielen, um zukünftige Toolboxen schwerer zu bedienen.
- Der Versuch, das Post-ID-System zu spielen, um zukünftige Toolboxen benutzerfreundlicher zu machen.
Ich kann niemanden davon abhalten, diese Dinge zu tun, aber ich werde alle Antworten, von denen ich vermute, dass sie dies tun, ablehnen.
Positiv ist zu vermerken, dass hier einige Dinge aufgeführt sind, die sportlich gut sind und gefördert werden:
- Koordination mit anderen Usern im Chat.
- Speichern von Zeichen für härtere oder restriktivere Sprachen
Dies ist eine zweite Wiederholung einer Herausforderung, die hier zu finden ist . Es verbessert eine Reihe von Problemen mit dem ersten. Hier ist ein Meta, das diese Fragen diskutiert.
;
(nicht in der Toolbox), um etwas zu tun, wenn keine Eingabe erfolgt. Condit- und Tcl-Programme benötigen als Teil der Syntax ein Leerzeichen (nicht in der Toobox). Schema braucht (
. Brain-Flak kann aus offensichtlichen Gründen nicht funktionieren (der einzige Charakter in der Toolbox, den es versteht, ist )
). Java 8 benötigt ein {
(nicht in der Toolbox), um eine Funktion zu deklarieren. Das lässt nur Maxima übrig, von denen ich nicht denke, dass sie Dinge ohne "print" drucken oder eine Funktion ohne die Verwendung von Klammern deklarieren können.