Sie sollten vier Aufgaben in einer Sprache ausführen, die:
- darf bei der Suche auf dieser Website (codegolf.se) keine Ergebnisse * zurückgeben, z. B. ToffeeScript ;
- muss eine Seite bei Esolang , Rosetta Code oder Wikipedia haben ;
- eine bestimmte Sprache sein, anstatt eine bestimmte Version (z. B. Python 2.1 wäre gültig, wenn Python die ersten beiden Kriterien erfüllt).
* Die Ausnahme ist dieser Hit für ToffeeScript.
Die vier Aufgaben, die Sie ausführen sollten, sind:
1) Schreiben Sie eine tweetbare (<140 Zeichen) Beschreibung / Werbung für Ihre gewählte Sprache.
2) Drucken Sie "Hallo Welt! Dies ist geschrieben in <programming language name>
."
3) Drucken Sie alle ungeraden Zahlen in einem benutzerdefinierten Bereich. (zB sollte ein stdin von 20 25
zurückkehren 21 23 25
).
4) Schreiben Sie ein Programm, das Ihrer Meinung nach ein interessantes Merkmal Ihrer gewählten Sprache demonstriert.
Wertung:
- Dies ist ein Beliebtheitswettbewerb
- Bonus von 10 Punkten, wenn in zwei der oben genannten Verzeichnisse aufgeführt, 25 in allen drei.
- Das Ergebnis ist die Summe der Stimmen, die am 1. Juli 2015 um Mitternacht UTC eingegangen sind, zuzüglich der Boni.
Erläuterungen:
- Aufgabe 1) kann ein tweetbares Programm sein, aber auch einfacher Text ist akzeptabel.
- In vielen Sprachen gibt es keinen Dolmetscher. Lösungen für diese sind in Ordnung, werden aber in gutem Glauben getroffen.
- Das zweite Kriterium für die Sprachauswahl verbietet Seiten, deren Erstellung nach diesem Beitrag erfolgt. Wenn für eine bestimmte Sprache, X, eine Lösung für ein Problem in Rosetta Code vorhanden ist, diese jedoch nicht über eine eigene Seite verfügt, ist dies weiterhin akzeptabel.
popularity-contest
Kieran Hunt
quelle
quelle
and/or
;)Antworten:
BlooP
Bonus: 10
Es gibt Seiten für BlooP auf Esolangs und Wikipedia . Eine PPCG-Suche nach BlooP liefert keine Ergebnisse. Wenn Sie sich besonders durchgeknallt fühlen, können Sie es auf repl.it ausprobieren .
Aufgabe 1: Der Tweet
Dies verwendet das Standard-Twitter-Styling einschließlich Hashtags und Emoticons. Dies würde jeden Twitter-Nutzer ansprechen. *
Aufgabe 2: Die Hallo Welt
Wie Sie sehen können, ist dies eine erstklassige Golfsprache. *
Aufgabe 3: Die ungeraden Zahlen
Die einzigen verfügbaren Operatoren in BlooP sind Zuweisung (
<=
), Addition, Multiplikation, größer als, kleiner als und gleich. Aufgrund seiner schmerzhaft ausführlichen Syntax ist es eigentlich ziemlich einfach zu sagen, was los ist, auch ohne ein tiefes Verständnis der Sprache.Aufgabe 4: Das Interessante
Hinweis: Mein Snippet für diese Aufgabe kann sich ändern, falls ich etwas Interessanteres finde.
Siehe, die Fibonacci-Zahlen.
* Kann nicht wahr sein
quelle
Mond *
Probieren Sie es in Ihrem Browser aus
Vollständige Offenlegung : Ich bin bis zu einem gewissen Grad in den Entwicklungs- und Designprozess von Mond involviert und habe persönlich mehrere wichtige Sprachfunktionen implementiert, einschließlich benutzerdefinierter Operatoren, die in den Aufgaben 3 und 4 demonstriert werden.
Aufgabe 1
Der Pipeline-Operator (
|>
) ist Syntaxzucker, der den Funktionsaufruf auf der rechten Seite in einen Funktionsaufruf umwandelt, wobei der Wert auf der linken Seite als erstes Argument eingefügt wird.foo |> bar()
ist das gleiche wiebar( foo )
.Aufgabe 2
Aufgabe 3
Der Code für diese Aufgabe setzt verschiedene Dinge voraus:
0-9
Probieren Sie es hier aus
Aufgabe 4
Diese Aufgabe demonstriert benutzerdefinierte Operatoren , mit denen der Programmierer einen beliebigen Operator (sofern dieser noch nicht vorhanden ist) wie eine Funktion definieren und wie jeden anderen Operator verwenden kann. Sie kommen in unären und binären Geschmacksrichtungen.
Probieren Sie es hier aus .
quelle
jq
Keines der 14 Ergebnisse auf codegolf.se bezieht sich auf die Sprache. (
jq
(und Großbuchstabenvarianten) scheint eine häufige Aussage in Pyth zu sein.)Es gibt eine JQ-Kategorie für Rosetta Code .
Sie können es online ausprobieren, aber einige der folgenden Beispiele benötigen die neueste Version 1.5.
Aufgabe 1: Der Tweet
(Schamlos zwitscherte der erste Absatz von seiner Website.)
Aufgabe 2: Die Hallo Welt
Aufgabe 3: Die ungeraden Zahlen
Aufgabe 4: Das Interessante
Die Datei ~ / .mozilla / Firefox / *. Default / extensions.json mit Informationen zu den installierten Firefox-Erweiterungen enthält 0 Zeilenumbrüche in 171 KB für JSON-Daten, was das Lesen irgendwie erschwert.
Drucken Sie die JSON-Daten hübsch aus:
Doh. 8000 ++ - Zeilen sind zu lang, geben Sie sie also an den Pager weiter, aber behalten Sie die Hervorhebung bei:
Autsch. Wie viele Erweiterungen gibt es überhaupt?
Ok, aber einige von ihnen sind deaktiviert. Wie viele genau?
Einige von ihnen sind ziemlich verlassen und funktionieren nicht mehr mit dem aktuellen Firefox:
(Dies ist später nicht der Fall. Aus irgendeinem Grund enthält extensions.json andere Versionsbereiche als die install.rdf der Erweiterungen. Dies ist jedoch ohnehin nicht die Schuld von jq.)
quelle
ooc
Ja, ich bin ungefähr einen Monat zu spät. Na und???
Aufgabe 1
135 Bytes! Das war knapp!
Außerdem gefälschte Bonuspunkte für das wahnsinnig coole ASCII-Art-Logo von ooc :
Aufgabe 2
Aufgabe 3
Ziemlich einfache Implementierung. Dies zeigt auch einen interessanten Aspekt von ooc: Methodenaufrufe verwenden Leerzeichen als Trennzeichen, nicht als Punkte. Beachten Sie zum Beispiel
stdin readLine() split(' ', false)
oben. In den meisten Sprachen würde das so geschrieben seinstdin.readLine().split(' ', false)
, aber ooc behält sich das für die Anrufverkettung vor (scrollen Sie nach unten zum Codebeispiel).Aufgabe 3
Dies zeigt meine Lieblings-OOC-Funktion: Typanpassung. Es ist wie ein Mustervergleich. In einer OO-Sprache. Genial.
quelle