Ich möchte eine Reihe von Funktionen auf einen Wert anwenden und eine Reihe von Werten als Ausgabe erhalten. Ich sehe in help?> groupby
(Datenrahmen-Paket) wir tun können:julia lang - Wie man mehrere Funktionen auf einen Wert anwendet
> df |> groupby(:a) |> [sum, length]
> df |> groupby([:a, :b]) |> [sum, length]
aber können wir tun
> [sum, length](groupby([:a, :b]))
MethodError: objects of type Array{Function,1} are not callable
square brackets [] for indexing an Array.
eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:64
in macro expansion at ./REPL.jl:95 [inlined]
in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at ./event.jl:68
oder sogar
> [sum, length](1:5)
Ich würde den Ausgang erwarten:
[15, 5]
Dank für den Hinweis, den Quellcode aus. Ich könnte das erweitern, um zu erreichen: "Import Base".(|>) (|>) {T <: Funktion} (a :: Array, fs :: Vektor {T}) = [f (a) für f in fs] > 1: 5 |> sammeln |> [Summe, Länge] 2-Element-Array {Int64,1}: '' ' – Phuoc