Swift をインタラクティブに実行しながら勉強しよう (関数編)
Swift はコンパイラ言語でありながら、インタプリタとしてスクリプトを実行することも可能で、対話実行環境(REPL(英語版))も用意されている。Swift と同時に発表された Xcode バージョン 6 では、コードの実行結果をグラフィカルに確認しながら開発できる Playgrounds が実装された。
Wikipedia より引用
説明の通り Swift はインタラクティブに実行することが可能となっています。Playgrounds を使ってもいいのですが、もっとお手軽なシェルから実行して遊んでみましょう。
環境構築
まず以下を参考にしてコマンドラインから実行できる環境を整えましょう。
Hellow, World
それではさっそく Hellow, World しましょう。適当な場所に拡張子 .swift
でファイルを作り以下の一行を書きます。
|
|
実行してみましょう。-i
オプションをつけるとバイナリファイルを生成せずに直接実行されます。
$ swift -i sample.swift
Hello, world
できました!なんと簡単なことか!
関数を試す
このまま続けましょう。いきなりですが関数を書きます。
|
|
実行しても何もおきませんね。なので少し変えます。
|
|
むむむ warning が出ました。
|
|
関数の返り値を nothing
変数に代入しようとしたのですがダメみたいです。warning によると関数は空のタプル '()'
を返してるようですね。これを明示的に宣言する必要があるみたいです。このようにします。
|
|
これで warning が消えました。swift では var
で変数宣言をして foo
を変数名として :
コロンの後に型を書くというやり方をします。また以下も動作します。
|
|
それでは試しに文字列を返す関数を書いてみます。
|
|
あれ、今度はエラーが出ました。
|
|
なるほど retString
関数は文字列を返して欲しかったのに依然としてタプルを返していますね、そしてそれを文字列に変換できないという旨のエラーです。関数の返り値に Void 以外を返す場合、型を宣言する必要があるようですね。こうしましょう。
|
|
やりました!エラーが消えました。ついでに引数も渡してみましょうかね。
|
|
またエラー発生です。
|
|
ほうほう、ここも型宣言が必要なのですか。こうすれば通るかな?
|
|
やりました!関数を書くには、返り値および引数の型宣言が大切なようですね。
以上 Swift の関数でした。
参考
Author
LastMod 2014-07-26