型ヒントライブラリについて¶
型ヒントライブラリの用法です。
型ヒントを使う理由¶
このライブラリはソースコードへ型情報を追加します。 このようなツールで非常に便利です。
コードエディタ
静的解析
注釈
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