キーワード一覧

NagiScript のキーワード全体を解説します。


型を定義するキーワード

キーワード説明
struct構造体の定義struct Point { x: f64 }
enum列挙型の定義enum Color { Red, Green }
fn関数の定義fn add(a: i32, b: i32) i32
type型エイリアスtype Int = i32

変数宣言

キーワード説明
val不変変数の宣言val x = 42
var可変変数の宣言var counter = 0

制御構文

キーワード説明
if条件分岐if x > 0 { ... }
elseelse ブランチif ... { } else { }
forfor ループfor i in 0..5 { }
whilewhile ループwhile x < 10 { }
matchパターンマッチングmatch x { 1 => ... }
return関数からの返却return 42
breakループの脱出break
continue次の反復へcontinue

メモリ管理

キーワード説明
unsafeUnsafe ブロックunsafe { *ptr }
async非同期関数async fn fetch() {}
await非同期操作の待機await fetch_data()

モジュール

キーワード説明
importモジュールのインポートimport "std:io"
export関数のエクスポートexport fn add()

リテラル

キーワード説明
trueval flag = true
falseval flag = false
void単型fn do_nothing() void
nullヌルポインタval ptr = null

基本型

キーワード説明
i88ビット整数val x: i8 = 42
i1616ビット整数val x: i16 = 42
i3232ビット整数val x: i32 = 42
i6464ビット整数val x: i64 = 42
u88ビット符号なし整数val x: u8 = 255
u1616ビット符号なし整数val x: u16 = 65535
u3232ビット符号なし整数val x: u32 = 4294967295
u6464ビット符号なし整数val x: u64 = 18446744073709551615
f3232ビット浮動小数点val x: f32 = 3.14
f6464ビット浮動小数点val x: f64 = 3.14159
bool真偽値val flag: bool = true
str文字列val name: str = "Alice"

演算子

キーワード説明
and論理ANDa and b
or論理ORa or b
not論理NOTnot a

特殊なキーワード

キーワード説明
stepfor ループのステップfor i in 0..10 step 2
as型変換val y = x as f64

予約語 (将来の拡張用)

以下のキーワードは現在使用されていませんが、将来の拡張用に予約されています:


キーワードの使用例

ngs
// 型定義
struct Point {
    x: f64
    y: f64
}

enum Color {
    Red
    Green
    Blue
}

// 関数定義
fn add(a: i32, b: i32) i32 {
    a + b
}

// 変数宣言
val x = 42
var counter = 0

// 制御構文
if x > 0 {
    io.println("Positive")
} else if x < 0 {
    io.println("Negative")
} else {
    io.println("Zero")
}

for i in 0..10 {
    io.println(i)
}

while counter < 10 {
    counter += 1
}

match color {
    Color.Red => "Red",
    Color.Green => "Green",
    Color.Blue => "Blue"
}

// メモリ管理
unsafe {
    val ptr = &x
    val value = *ptr
}

// 非同期
async fn fetch_data() void {
    val data = await http.get("https://example.com")
}

// モジュール
import "std:io"
export fn public_function() void {}