型ヒントライブラリについて — プログラミング言語 Ring 1.14 取扱説明書

Skip to content

# 型ヒントライブラリについて

型ヒントライブラリの用法です。

## 型ヒントを使う理由

このライブラリはソースコードへ型情報を追加します。 このようなツールで非常に便利です。

- コードエディタ

- 静的解析

注釈

Ring は動的言語であり、コンパイラによる型検査は行われません。

## 用例

この用例は型ヒントライブラリの用法です。

    load "typehints.ring"

    see sum(3,4) + nl ;
    see sayHello("Mahmoud");

    int func sum(int x,int y) {
            return x+y ;
    }

    string func sayHello(string name) {
            return "Hello " + name ;
    }

## ユーザ型

型ヒントライブラリは非常に強力であり、自動的にユーザ型 (クラス) へ対応します。

用例:

    load "typehints.ring"

    import mypackage

    test()  { main([:one,:two,:three]) }

    myclass func test() {
            see "Testing User Types!" + nl
            return new myclass
    }

    package mypackage {
            public class myclass {
                    public static void func main(list args) {
                            see "welcome" + nl
                            see args
                    }
            }
    }

## コードの内側で型を使うには

また、コードの内側で型を使えます (関数プロトタイプだけに限定されません)。

用例:

    load "typehints.ring"

    int     sum = sum(3,4)
    string  msg = sayHello("Mahmoud")

    see "Sum = " + sum + nl + msg + nl

    int func sum(int x,int y) {
            return x+y ;
    }

    string func sayHello(string name) {
            return "Hello " + name ;
    }

## 規則

- 関数プロトタイプ : 型を使うには、引数の前後を ‘(‘ と ‘)’ で必ず囲んでください。

- 関数のコード : 型を使うには、必ず変数の値を設定してください (代入)。

この型はライブラリで定義してあります。

    # 低水準型
    char
    unsigned
    signed
    int
    short
    long
    float
    double
    void

    # 高水準型
    string
    list
    number
    object

    # その他
    public
    static
    abstract
    protected
    override