メインコンテンツまでスキップ

関数と変数

紹介

Waveプログラミング言語の核心設計哲学は、低レベルのパフォーマンスと高レベルの抽象化のバランスをとり、ソフトウェア開発に効率的で柔軟な環境を提供することです。 このセクションでは、Waveプログラムの基本構成要素である関数と変数を紹介します。 これらの構成要素は、プログラム内でロジックを構成し、データを管理するために不可欠です。 関数と変数を定義し扱う方法を理解すれば、Waveの潜在能力を最大限に活用することができます。


関数

Waveで関数は独立して実行できる再利用可能なコードブロックの役割をします。 関数は特定の動作をカプセル化し、プログラム全体で必要なときに呼び出せるようにします。 これにより、計算を実行したり、I/O操作を管理したり、コードを管理可能な単位に分離したりすることができます。

Waveでの関数のシグネチャはfunキーワードで始まり、関数名、パラメーター(ある場合)、および中括弧{}で囲まれた関数本体で構成されます。

関数を定義する

Waveで基本的な関数は次のように定義されます:

fun main() {
// ここにコードを記述します
}
  • main関数はプログラム実行のエントリーポイントとして常に必要です。
  • 関数はパラメーターを持つことができ、値を返すことができます。 戻り値の型は関数名の後に明示します。

例: 簡単な関数

fun add(a :i32, b :i32) -> i32 {
return a + b;
}

fun main() {
var result = add(5, 7); // add関数呼び出し
println(result); // 出力: 12
}

上の例で:

  • add関数は2つの整数abを受け取り、その合計を返します。
  • main関数はaddを呼び出して結果を出力します。

変数

変数はプログラム内でデータを保存し、操作するために使用されます。 Waveは変数宣言で可変変数不変変数の両方をサポートしており、データ管理に対する開発者の制御権を提供します。

可変変数

Waveでは変数は基本的に**可変(mutable)**です。 つまり、プログラム実行中に値を変更できます。

可変変数はvarキーワードを使用して宣言します。

var x :i32 = 10; // 可変変数
x = 20;

上の例で:

  • xは可変変数で、初期値10を持ち、後で20に値を変更できます。

不変変数

変数を**不変(immutable)**として宣言すると、一度値が割り当てられた後は変更できません。

不変変数はletキーワードを使用して宣言します。

let y :i32 = 5;         // 不変変数
// y = 10; // エラー: 不変変数は値を変更できません。

ここで:

  • yは不変変数であり、値を変更しようとするとコンパイルエラーが発生します。

しかし、letキーワードで可変変数として使用したい場合は、mutを使用して一時的な可変変数として使用できます。

let mut y :i32 = 5;
y = 10;

変数宣言の例

様々なタイプの可変および不変変数を宣言する例は次の通りです:

var x :i32 = 10;                    // 可変整数変数
let y :f64 = 3.14159; // 不変浮動小数点変数
var name :str = "Wave"; // 可変文字列変数
let is_active :bool = true; // 不変論理変数
  • xは可変整数です。
  • yは不変浮動小数点数です。
  • nameは可変文字列です。
  • is_activeは不変論理値です。

Waveではvarキーワードを使用して可変変数を宣言し、letキーワードを使用して初期割り当て後に変更できない不変変数を宣言します。

可変変数と不変変数を区別することで、Waveはデータの一貫性とプログラムの状態をより効果的に制御できるようになります。 これにより、より堅牢で予測可能なコードを作成することができます。