富山までの移動時間でswiftを触ってみる

こんにちは。ヤマヤタケシです。

新幹線で東京から富山までの2時間に暇つぶしがてらswiftを触ってみます。
objective-cがどうしても好きになれなかったというか、たいして触る機会もなかったのですが、swiftは簡潔で良さそうです。

さて、基本のhello worldです。当然、xcodeを使います。

import Foundation
println( "hello swift" )
exit(-1)

・main.swift というファイルがmain関数そのもの。
cだとint main 関数がエントリーポイントになりますが、swiftは main.swift のファイルそのものがエントリーポイントになります。関数じゃないので return 0; の代わりに exit( 0 ) で終わらせます。

・import Foundation が必要みたい
これを消すと、exitがコンパイルエラーになります。
printlnは通りました。
・println で標準出力できるっぽい
lnはlineの略かな。
・セミコロンいらないし、あっても問題ない。
気が楽です。

command+rで実行すると、こんな結果になります。

hello swift
Program ended with exit code: 255

-1を返したら255になりました。unsigned charなんですかね?
定義に飛んでみました。(jump to definition)

@noreturn func exit(_: Int32)

うーん、Int32ってかいてありますね。謎・・・。
深い追いはやめて次は配列を触ってみます。

・配列を使ってみる

var int_array : [Int] = [];
int_array.append(1);
int_array.append(2);
int_array.append(3);
int_array.append(4);
int_array += [5];
println("count " + String(int_array.count))
for n in int_array
{
    println(n)
}

・varで宣言する。
・[Int]でその型の配列型になる。
・からの配列は[]で作る。
・appendメソッドで値を追加できる。
・+=で配列を配列に追加ができる!
・countで要素数が取れる。
・for n in int_arrayで回せる。

うむ、いいじゃないか。
配列があるならソートをすればいいじゃない。

var int_array : [Int] = [1,2,3,4,5]
int_array.sort { $0 > $1 }
for n in int_array
{
  println(n)
}

こんなんでました。

5
4
3
2
1

・逆順になった!
・コードが短い!
・sortのあとに関数っぽいものが指定できる。
・Javascriptっぽい!

おっと、電車が来たのでここまで!
そんじゃまた。