Dies kann unter "Sie können nicht fallen, und es gibt keinen Grund zu sowieso", aber ich bin neugierig, ob es möglich ist. Zumindest wird es vielleicht ein lustiges R-Puzzle sein.
Ich habe überlegt, cat
zu curryen, um immer \n
anzuhängen. % Co_de% wird jedoch so geschrieben, dass es so viele Argumente zusammenfügt, wie angegeben (via cat
).
Überraschenderweise funktioniert das:
%Vor% Das ...
endet jedoch vor dem Text des Benutzers. Gibt es eine Möglichkeit, die Funktion so zu curren, dass das Argument curried immer die Argumente \n
enthält?
Sieht so aus, als ob Curry()
ziemlich effektiv die zwei Argumentlisten in der umgekehrten Reihenfolge von dem verdrahtet, was Sie möchten. Es ist jedoch eine einfache Funktion, dass Sie einfach ihr Spiegelbild konstruieren und stattdessen verwenden können.
# 1. Ignoriere das zweite Argument von Curry und schreibe die neue Zeile fest
Versuchen Sie es mit dem letzten Argument von cat
, indem Sie es in einer anonymen Funktion hart codieren. Es verwendet nicht wirklich Curry
Argumente nach dem ersten:
# 2. Erstellen Sie Funktionen, indem Sie eine anonyme Funktion curryen
Hier ist eine zweite Lösung, die das letzte Argument von cat
verwendet, indem eine anonyme Funktion verwendet wird, die die Argumente von cat
neu anordnet.
# 3. Stellen Sie die gewünschte Funktion her, indem Sie eine noch grundlegendere Funktion ausführen.
Vielleicht ist der wahre Sinn von all dem zu sehen, wie wir grundlegende Komponenten nehmen und sie crylen können, um zu bekommen, was wir wollen. So könnten wir eine allgemeine last.arg.fun
definieren und dann die gewünschte Funktion durch ein Curry daraus herstellen:
Wir könnten es in zwei Schritten tun, wenn wir last.arg.cat
irgendwann brauchen würden:
Beachten Sie, dass jeder der Tests eine Zeile erzeugen sollte, die besagt, dass dort eine neue Zeile endet.
EDIT: mehr Lösungen.