Für dieses Golfspiel müssen Sie mehr als eine Sprache verwenden.
Die Aufgabe
Eine Rube Goldberg-Maschine ist eine Erfindung, die eine enorme Anzahl von komplizierten Schritten benötigt, um eine sehr einfache Aufgabe auszuführen. Das Ziel dieses Golfs ist die Ausgabe Rube Goldberg
... aber nicht direkt.
Die Maschine
Ihr "Computer" ist der Quellcode, der nach seiner Ausführung einen anderen Quellcode in einer anderen Sprache ausgibt, der Rube Goldberg
bei der Ausführung ausgegeben wird. Verstanden?
Ich sage es anders: Ihr ursprünglicher Code muss einen anderen Code enthalten, der andere Code muss ausgegeben werden Rube Goldberg
. Beide Codes müssen in verschiedenen Sprachen geschrieben sein.
Der Bonus, der eher der einzige spaßige Weg ist, es zu tun
Es gibt einen Bonus, wenn Ihr Code einen Code ausgibt, der einen Code ausgibt, der ... ausgegeben wird Rube Goldberg
.
HINWEIS: Es kann jede Art von Ausgabe verwendet werden (stdout, stderr, Dialogfeld, ...)
Die Punkte
Die Anzahl der Punkte ist gleich der Anzahl von Bytes im Code verwendet wird , dividiert durch die Anzahl von verschieden , zusätzliche Sprachen , die Sie verwendet haben .
HINWEIS: Verschiedene Sprachen verwenden unterschiedliche Kodierungen. Die Anzahl der Bytes wird in der Anfangssprache mit einer eigenen Codierung gezählt.
Beispiele
Pyth -> J -> Javascript -> output
in 30 Bytes = 30/2 = 15 Punkte (J und Javascript sind die zusätzlichen Sprachen)Java -> C# -> C++ -> PHP -> output
in 36 Bytes = 36/3 = 12 Punkte (Mehr Bytes und mehr Sprachen können über weniger Bytes und weniger Sprachen siegen. Ich weiß, dass diese Sprachen dies nicht in 36 Bytes tun können.)C -> output
in 10 Bytes = 10/0 = Unendlich Punkte (keine zusätzlichen Sprachen)Python -> Perl -> Ruby -> Python -> Ruby
in 44 Bytes = 44/2 = 22 Punkte (Perl und Ruby sind die zusätzlichen Sprachen, das zweite Python wird nicht gezählt, da es keine zusätzliche Sprache ist, das zweite Ruby wird nicht gezählt, wie es bereits war)
HINWEIS: Sprachen, deren Eingabe ausgegeben wird , können nicht verwendet werden. Das wäre eine zusätzliche Sprache ohne zusätzliches Byte.
Die Antwort
Bitte geben Sie eine Antwort, in der klar angegeben ist, welche Sprachen Sie verwendet haben, und geben Sie den Code jedes Schritts an (dh: in jeder Sprache).
Der Gewinner
Natürlich gewinnt wie immer die niedrigste Punktzahl.
HINWEIS: Standardlücken und "Cheats" sind wie üblich nicht erlaubt.
quelle
Antworten:
33 Sprachen, 40 Bytes, 1,25 Punkte
Nutzt die Tatsache aus, dass viele verschiedene Sprachen dieselbe Drucksyntax verwenden, was zu einem exponentiell längeren, aber stark komprimierbaren Quellcode führt.
Permalinks (unvollständig, zu aktualisieren)
quelle
BATCH
--andere kostenlos verwendenecho
.Foo → gs2 → M → Gelee → Netzhaut → Aeolbonn → Par → Tatsächlich → Korrekturen → sed → Universal Lambda → Linien → /// → m4 : 19/13 ≈ 1,4615 Punkte
Alle Antworten finden Sie auf der Jelly-Codepage . ¶ steht für eine neue Zeile.
Mechanismus
EDIT: Hoppla, im Pyth-Programm ist ein Fehler aufgetreten. Ich habe Pyth und GolfScript durch Par ersetzt.
EDIT 2: GNU m4 hinzugefügt.
EDIT 3: Foo und M. hinzugefügt
quelle
gs2 -> Jelly
nur ein Byte entfernt .../
am Ende einfach eine weitere hinzu , wenn dies keine anderen Sprachen durcheinander bringt).Jolf -> Eigentlich -> Jelly -> Pyth -> Retina -> /// -> Golfscript: 15/6 = 2,5 Punkte
5,4 Punkte dank Martin Ender.
0,1 Punkte dank Cᴏɴᴏʀ O'Bʀɪᴇɴ.
Hinweis: Sowohl Actually als auch Jelly haben eine eigene Codepage, sodass sie nur in den Online-Versionen byteweise übertragen werden können.
Jolf
Tatsächlich
Probieren Sie es online!
Gelee
Probieren Sie es online!
Pyth
Probieren Sie es online!
Retina
Probieren Sie es online!
///
Probieren Sie es online!
Golfscript
Probieren Sie es online!
quelle
Python -> Batch -> Javascript -> Java -> PHP -> C ++ -> Foo -> Brainfuck 31. (142857) Punkte
Python
Stapel
JavaScript
Java
PHP
C ++
Foo
BrainFuck
quelle
-----------
es zu tun"+"-"*11+"
?JS -> Cobol -> Python -> IBM 360 BAL
261 Bytes / 4 Sprachen = 65,25 Punkte
Ziel war es, schwierige Sprachen mit mehr Verschleierung zu verwenden. Javascript konvertiert den String von base64 in Cobol, wodurch Python erzeugt wird, das den BAL-Code von hex decodiert.
Javascript
Cobol
Python
IBM 360 BAL
Ausgabe
quelle
Rude Goldberg
nicht seinRUBE GOLDBERG
.IndentationError
und nicht ausgeführt.MATL -> CJam -> 05AB1E -> Golfscript
21/218/222/3Danke für Martin für 3 Zeichen!
ausgeführt in MATL gibt
was in CJam gibt
was in 05AB1E gibt
was in golfscript gibt
quelle
g'
zug
. So wird Ihre Punktzahl 7 statt 22/3 sein .Java-> Thue-> Javascript-> Batch-> Microscript II-> Brainf ***, 236/5 = 47,2
Generiertes Thue-Programm:
Generiertes Javascript-Programm:
Generiertes Batch-Programm:
Generiertes Microscript II-Programm:
Generiertes Brainf *** Programm:
quelle
Reng ->> <> -> Vitsy, 32/2 = 16 Punkte
Ich wollte nur 2D-Sprachen - in einer einzigen Zeile!
Erläuterung
quelle
push that string backwards
".Perl -> JavaScript (ES6) -> Batch -> sh, 39/3 = 13 Punkte
Perl
JavaScript (ES6)
Stapel
Sch
quelle
<?="print 'alert`@echo echo Rube Goldberg`'";
. Wenn ich mich nicht irre, sind es 11,25 Punkte.print 'alert`@echo echo Rube Goldberg`'
funktioniert auch in PHP.print
.<?php
Teil weglassen , um als Quine zu wirken, denke ich./// -> PowerShell -> CJam -> Foo -> BASH, 24 Byte / 4 = 6
Bei Ausführung in /// gibt
was, wenn es in PowerShell ausgeführt wird, ergibt
was, wenn es in CJam ausgeführt wird, ergibt
was, wenn in Foo ausgeführt, gibt
was, wenn es in BASH ausgeführt wird, ergibt
quelle
Javascript -> PHP -> Foo 14 Punkte
Javascript:
PHP:
Foo:
quelle
APL → J → K, 21 Bytes / 2 → 10.5
'''"Rube Goldberg"'''
auf Dyalog gibt APL
'"Rube Goldberg"'
was in J gibt
"Rube Goldberg"
was in K gibt
Rube Goldberg
Wenn wir noch eng verwandte Sprachen zulassen, können wir viel mehr bekommen.
quelle
/// -> K -> J -> SX -> Golfscript -> Pyke -> Lua -> Moonscript -> C -> Pyth -> Python -> BrainF *** -> Bash -> Ruby -> Zsh, 554b / 16 = 34,625
///
K
J
SX
Golfscript
Pyke
Perl
Lua
Moonscript
C
Pyth
Python 2
Gehirn ***
Bash
Rubin
Zsh
Natürlich könnte ich viele Echos hinzufügen, aber es fühlt sich so an, als würde es Dennis 'Antwort kopieren.
quelle
Python → Ruby → Bash, Punktzahl: 35/2 = 17,5
Wenn es in Python ausgeführt wird, gibt es
mit dem
\"
s entkommen. Als nächstes gibt dieses ausgeführte Rubyund letztendlich gibt es die Ausführung in Bash
Welches ist die erwartete Zeichenfolge.
quelle
C → JS → Shell → > <> : 68/3 = 22,67
C
Javascript
Schale
> <>
Ergebnis:
nach Bedarf.
quelle
console.log`echo '"Rube Goldberg"ar!;ooooooo|'`
?console.log([`echo '"Rube Goldberg"ar!;ooooooo|'`])
je nach Spezifikation unterschiedlich bewertet (was ungefähr zu einer Bewertung führen würde ).Korrigiert → /// → itflabtijtslwi → Python 2 → Pyth, 24/4 = 6
Korrigiert
///
itflabtijtslwi
Python 2
Pyth
Ausgabe
quelle
Python -> Ruby -> Bash -> JS -> /// -> m4, Score: 54/5 = 10,8
Ich habe den Trick /// und m4 aus der Antwort https://codegolf.stackexchange.com/a/83627/53416
quelle
dc -> Fortran -> Basic -> Vim, 59/3 = 19. (6) Punkte
Mit dieser Antwort wollte ich einen Beitrag zur Vielfalt der Sprachen leisten, die bereits in anderen Antworten verwendet wurden.
dc:
Fortran:
Basic:
Vim:
Endgültige Ausgabe:
quelle