[Spider]Swiftと似た?を使ったチェーンのメモ

  • 2
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

参考公式ドキュメント

http://spiderlang.org/

SpiderはSwiftと似ている?

Spiderは、 Swiftからも着想を得て 開発されています。

そのため、しばしばSwiftと似たシンタックスが登場します。

例えば、Swiftで特徴的なシンタックスのひとつとして、optionalがありますよね。

var name:String?

のように。

クラスとかなら、

class Animal {
    func name()->Void{
        println("animal")
    }
}

var animal:Animal?

animal = Animal()

animal?.name()

みたいな。

実は、Spiderでもこの ?チェーン のようなものが
搭載されているので、それを紹介します。

Spiderでの?チェーン

Spiderでは、下記のように?をつけることで

undefinedのTypeErrorをさけることができます。

func Animal() {
    this.name = () -> {
        return "Dog"
    }
}

var animal = new Animal()
animal.name()

var name = animal.name?() // "Dog"
var age = animal.age?()   // undefined

もちろん、Swiftと比べると別物ではありますが ;^_^A

もうわざわざif文でチェックする必要がないですね!

これは良機能だと思います!