読者です 読者をやめる 読者になる 読者になる

Swiff 言語とは

Swiff って?

Swiff は C# っぽい、私に都合のいい言語です。
オープンソースですし、言葉の由来もただの擬音語なので名前空間をそんなに汚すことはありません。
あとはえーっと、ももんがモバイルのアプリを作るのに使えるかもしれません。
ええ、そんなモバイルガジェットは存在しないのですが。

へろーわーるどやってみせてよ

Swiff のへろーわーるどはこの様に書くことができます:

class Hello {
    static void main() {
        println( "Hello, World!" );
    }
}

嘘です。
Swiff ではトップレベルから実行されるので、特定のエントリポイント(例えば main のような)が必要ないのです。
先ほどの Hello クラスが書かれたコードを評価しても何も表示されません。

真の Swiff でのへろーわーるどはこの様に書きます:

println( "Hello, World!" );

インタプリタなの?

Swiff VM 上で動く感じがするインタプリタです。
まだ作ってないし、作るかどうかもわからないんでなんとでも言えるんですが、Swiff VM で動くバイトコードを吐き出したりもしたりします!

普通の実行形式のファイルを吐くとかもできるといいなと思います。

C# っぽいってことは、ラムダ式とかプロパティあるの?

あります。

public class Customer {
    public string name { get; set; }
    public decimal age { get; set; }
}

よくある貧血気味の顧客クラスです。
プロパティやメソッドの名前は lowerCamelCase です。

var customer = new Customer { name = "ふにゃ山 ふにゃ男", age = 17 };

ラムダ式に関してはこんな感じです:

view_model.GreetingCommand = new RelayCommand( (sender) => { 
    var label = sender as Label;
    
    label.text = "Hello, Universe";
} );