[コトリン・ストディ06]0606


モジュラプログラミング

  • コトリンは、関数プログラミングとオブジェクト向けプログラミングをサポートするマルチモデル言語です.
  • 関数自体は多様な技術
  • を実現する.
  • 関数を使用すると、コードを簡略化し、テストまたは再利用性
  • を増加させることができる.
  • ram多項式、高次関数構成の使用
    :関数は、基本データ型ではなく、入力および出力関数
  • です.
  • 純関数
    :関数を引数として使用するには、純粋な関数の概念を満たす必要があります.
  • 純関数の理解


  • ✋🏻 副作用のない関数
    :常に同じ入力パラメータに対して同じ値を出力/戻す関数
    :値は予測可能で、決定性(確定性)がある

  • ✋🏻 じゅんかんすうのじょうけん
    :常に同じパラメータの同じ値を返します.
    :関数の外部の状態は変更されません.(関数外部の変数の変更も含む)
    :ラムダ式には純関数が必要
    🤔 純粋な関数、なぜ使用しますか?
    入力とコンテンツの分離とモジュール化により、再利用性が向上します.
    :複数の関数と組み合わせても副作用はありません.
    特定の状態に影響を与えず、並列作業時に安全です.
    関数の値を追跡および予測できます.これにより、テストまたはデバッグが容易になります.
  • 純粋な関数を関数式プログラミングに適用すると,以下の利点と構造の使用がある.
    パラメータ、パラメータ、または戻り値(高次関数)に
  • 関数を適用する.
  • 関数を変数またはデータ構造に格納
  • 柔軟性を向上
  • 茶食

  • 未命名関数(Ramda代数由来)
  • 匿名関数の形式で、名前を付けずに
  • を使用および実行できます.
  • ram多項式は、高次関数からパラメータに渡すことも、結果値
  • を返すこともできる.

    レベル1オブジェクト(First Class Citizen)

  • より多くの権限を持つオブジェクト
  • 関数としてのパラメータ伝達
  • 関数の戻り値は
  • である.
  • 変数、
  • 一級オブジェクトは関数であり、コトリンでは関数が一級オブジェクトとして処理される.これは一級関数とも呼ばれます.
  • 高次関数

  • 関数に別の関数
  • を追加できます.
  • パラメータにram多項式を含む形式
    次に、高次関数の簡単な例を示します.
  • fun main() {
     println(highFunc({x,y -> x+y}, 10, 20) //람다식, 정수형 변수 2개 선언
    }
    fun highFunc(sum: (Int, Int) -> Int, a:Int, b: Int){return sum(a,b)}
    →highFunc関数を宣言するときにsumを関数として抽象化し、実際に使用するときにram多項式を使用して具体化します.
  • ラム多項式が関数の最後のパラメータに位置する場合、以下のように表すこともできる.
  • fun main(){
    	println(highFunc(10,20){
        x,y -> x+y
        }
    }
    fun highFunc(a:Int, b: Int, sum: (Int, Int) -> Int):Int
    {return sum(a,b)}