高次関数を使用して重複したコードを削除しようとしています。高次関数fnを引数に使用して対シングルトンオブジェクトを呼び出す方法
これはSingleton Objectメソッドの呼び出しとどのように違うのですか?
サンプルコード:これはシングルトンオブジェクトのメソッドを使用して同じ関数を呼び出すと異なる方法
filterDFForPaymentType(filterDF, df, "Manual")
filterDFForPaymentType(filterDF, df, "Electronic")
def filterDFForPaymentType(fn: (DataFrame, String) => DataFrame, df: DataFrame, paymentType: String) {
fn(df, paymentType)
}
def filterDF(df: DataFrame, paymentType: String): DataFrame = {
val filteredDF = df.where(col("paymenttypecol") === paymentType)
filteredDF
}
。
filterDFForPaymentType(UtilClass.filterDF(df, "Manual"))
filterDFForPaymentType(UtilClass.filterDF(df, "Electronic"))
私たちは高次関数を使ってはるかに多くを行うことができますが、実際にその点は得られません。
これは高次関数を使用する正しい方法ですか?
高次関数を適切に使用するためのリンクを教えてもらえますか?あなたがここにある
この場合、直接関数を使用する利点はありません – cchantep