Home English

Kuina-chan

くいなちゃんAug 22, 2017


プログラミング言語Kuin」の変数と関数についてです。

Kuinの変数定義

Kuinでは、変数を変数定義のように定義します。
変数定義

 var 変数名: 型名

 var 変数名: 型名 :: 初期値

初期値を指定すると、変数が生成されたときにその値が代入されますが、初期値を省略することもできます。
変数定義の例は、「[]char」型の変数「str」を定義して初期値に「"abcde"」を指定した例です。
var str: []char :: "abcde"
変数定義の例
初期値を省略した場合の変数にはデフォルト値が入ります(型とリテラルを参照)。
変数は、関数の外で定義するとグローバル変数となりメモリのセクション領域に作成されます。 関数の中で定義するとローカル変数となりメモリのスタック領域に作成されます。
設計の理由
 変数定義の書き方はほぼPascalでの書き方と同じです。 行頭で変数定義であることが判断でき、可読性もコンパイル速度も向上するため採用しました。

Kuinの関数定義

Kuinでは、関数を関数定義のように定義します。
関数定義

 func 関数名(引数名1: 型名1, 引数名2: 型名2, ...)
     関数の中身
 end func

 func 関数名(引数名1: 型名1, 引数名2: 型名2, ...): 戻り値の型名
     関数の中身
 end func

例えば、「int」型の引数「a」「b」を取り「bool」型の値を返す関数「F」を定義するときは関数定義の例のようにします。
func F(a: int, b: int): bool
end func
関数定義の例
関数の中で関数を定義することもできます(関数の中に関数を定義する例)。
func F(a: int, b: int): bool
    func g(a: int, b: int): bool
    end func
end func
関数の中に関数を定義する例
設計の理由
 関数定義の書き方はほぼPascalでの書き方と同じです。 行頭で関数定義であることが判断でき、可読性もコンパイル速度も向上するため採用しました。
1503413543ja