今回は逆です。「Kotlinスタートブック」の内容からScalaに置き換えてみました。と言うのもコップ本の内容がどうもKotlinへ変更できない感じだったんです。何故かというと、yieldやプレースホルダーがどうすれば良いのか?見当が付きません。すぐ上のKotlinのプログラムでも馴染み無いことがあります。先ずwhen、こういう書き方はifのネストに対応してるというので、Scalaではそうしてみました。もちろんScalaではwhenは使えませんでした。tailrecもScalaではキーワードでは無かったです。Kotlinにも不明箇所がありました。::です。後から調べると::の意味は、定義済みの関数の関数オブジェクトを取得するための方法と言うことです。
赤べこ本によれば、高階関数とは
関数を引数として受け取ったり、返り値として返すような関数のこと。と言うことはfirstが高階関数ですかね?。難しい。(-_-;)取り敢えずは動くことは動きましたが、理解はしてない。