Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ファイルをつなげる

他ファイルの関数や構造体を使う

以下のようなファイル構成のときを例に説明します

src
├── SayHello.wapl
└── main.wapl

ファイル:SayHello.waplにある以下の関数をファイル:main.waplで呼びたいです。

fn Hello(){
    println("HELLO!!!!!");
}

こんな時にはuseキーワードを使ってつなげたいファイルのパスをしていします。

ファイル:main.wapl

use "./src/SayHello.wapl"
fn main():i32{
    Hello();
    return 0s;
}

パスは文字列リテラルと同じでダブルクォーテーションで囲んで書きます。

同様に構造体も持ち込むことができます。

以下のようなファイル構成のときを例に説明します。

src
├── Complex.wapl
└── main.wapl

ファイル:Complex.wapl

struct Complex{
    f64 re,
    f64 im
}
fn Complex_new(f64 re,f64 im):Complex{
    #=(cplx, _, Complex);
    =(.(cplx,re), re);
    =(.(cplx,im), im);
    return cplx;
}
fn Complex_show(Complex c){
    println(format("c = %g + %gi",.(c,re),.(c,im)));
}

この複素数の構造体をファイル:main.waplで使います。

use "./src/Complex.wapl"
fn main():i32{
    #=(c, Complex_new(1.0,2.0), Complex);
    Complex_show(c);
    return 0s;
}

このようにして複数ファイルで開発をすることができます。