Io言語をインストールしてHello Worldする


はじめに

ビルドとインストールの方法も載せます。

単純にHello Worldしたら1行で終わってつまらないので、Hello World用のメソッドを持たせたオブジェクトのインスタンスを作って実行します。

インストール方法

ダウンロードする

--recursiveオプションを忘れずに。

$ git clone --recursive https://github.com/IoLanguage/io.git

ビルドする

$ cd io
$ mkdir build
$ cd build
$ cmake ..
$ make

インストールする

$ sudo make install

以下のコマンドが動けば成功です。

$ io --version
Io Programming Language, v. 20170906

Hello Worldする

  1. ioと入力してインタプリタを起動します。

    $ io
    Io 20170906
    Io> 
    
  2. 空のオブジェクト、FirstObjectを作る

    Io> FirstObject := Object clone
    ==>  FirstObject_0x55eaf4b78e30:
    type             = "FirstObject"
    
  3. FirstObjectにHello World用のメソッド、firstMethodを持たせる

    Io> FirstObject firstMethod := method("Hello, world!" println)
    ==> method(
    "Hello, world!" println
    )
    
  4. FirstObjectのインスタンス、firstInstanceを作る

    Io> firstInstance := FirstObject clone
    ==>  FirstObject_0x55eaf4eb3d30:
    
  5. firstInstanceのfirstMethodを呼び出す

    Io> firstInstance firstMethod
    Hello, world!
    ==> Hello, world!
    

Hello Worldできました

おまけ

名前を受け取って挨拶してくれるメソッド、secondMethodを作ってみます。

  1. firstInstanceにsecondMethodを持たせる

    Io> firstInstance secondMethod := method(name, writeln("Hello, ", name))
    ==> method(name, 
    writeln("Hello, ", name)
    )
    

    firstMethodのときは元となるオブジェクトに持たせてインスタンスを生成しましたが、今回はインスタンスに直接持たせています。

  2. secondMethodを呼び出す

    Io> firstInstance secondMethod("matoruru")
    Hello, matoruru
    ==> nil
    

挨拶された

まとめ

QiitaにIo言語の構文ハイライトがあることに驚きました...(PureScriptのも用意してください!)。

参考