無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

関数について

ScalaByExample - Chapter 5 First-Class FunctionsScalaByExample - Chapter 5.1 Anonymous Functionsのポイントまとめ。

関数は値

Scalaの関数はです。引数として渡したり、戻り値として返すことができます。以下は、関数を引数として受け取る関数の例です。

  • 「<仮引数名>:<引数型..> => <戻り値型>」で関数を示す型となります。
  • 関数内では「<仮引数名>(<引数..>)」で渡された関数を実行できます。
// 関数を受け付ける関数の定義
// 「<仮引数名>:<引数型..> => <戻り値型>」で関数の型を示す
def foo( f:(int, int)=>int ) = f( 2,3 )

// 関数
def sum( a:int, b:int ) = a+b

// 実行!
println( foo( sum ) ) // 5

実行結果です。

6

無名関数

「(<引数..>) => <処理>」で無名関数を生成できます。

// 「(<引数..>) => <処理>」で無名関数を生成できる。
println( foo( (a:int, b:int) => a*b ) ) // 6

このへん、チュートリアルででてきたな