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

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

型ヒントを使う理由

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

  • コードエディタ

  • 静的解析

注釈

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