こんにちは。ヤマヤタケシです。
新幹線で東京から富山までの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っぽい!
おっと、電車が来たのでここまで!
そんじゃまた。