Stapelüberlauf:
Hallo alle.
Ich möchte eine teilweise angewandte Funktion definieren, die varargs hat.
Um dies zu bestätigen, bereitete ich mehrere Funktionen, d. h. Funktionen._ vor. Die Funktionen außer func haben ein varargs Argument.
Wie kann man eine partiell angewendete Funktion mit Varargs definieren und aufrufen? (z. B. gunc1 mit varargs.)
Java-Version "1.7.0_07" Scala Code Runner Version 2.9.1.final
%Vor%[Bearbeiten nach Rex Kerrs Kommentar]
Ich möchte die teilweise angewandte Funktion wie guncN unten:
%Vor%Aber es ist durch scalac verboten.
Ich denke, guncN sollte jedes Mal zum Zeitpunkt (2), (2, 3) und (2, 3, 4, 5, 100) ausgewertet werden. Wir brauchen keine Waffe unten:
%Vor%Wenn Sie nur varargs wollen, können Sie in 2.9:
%Vor%Aber nicht in 2.10, wie es jetzt steht, und es gibt keinen offensichtlichen Plan, dies zu ändern: Ссылка
%Vor%Wenn Sie 2.9 haben, können Sie
%Vor% Aber vielleicht sollten Sie nicht darauf zählen, varargs Funktionen zu haben, da dies scheinbar veraltet ist (oder zumindest hinter das -Yeta-expand-keeps-star
-Flagging verschoben wurde, welches als -Y
-Option möglicherweise nicht funktioniert oder jederzeit entfernt wird ).
Die Lösung, die ich gefunden habe, besteht darin, Funktionen zu komponieren:
%Vor%vielleicht sollten Sie nicht darauf zählen, varargs-Funktionen zu haben, da dies scheinbar veraltet ist (oder zumindest hinter die
-Yeta-expand-keeps-star
-Flagge verschoben wurde)
SI-6816 bestätigt die Abwertung und in Scala 2.12.x, Dez. 2016, mit PR 5558 , diese Flagge ist endgültig verschwunden ( Diskussion hier ).
Ich möchte eine Teilfunktion, die wir nicht kennen
args.size
BEVORHAND
Das scheint immer noch nicht möglich (in Scala 2.12.x, Dez. 2016)
Tags und Links scala