Learn Swift / viva Cocoa


Learn Swift / 第9章  関数


このコーナーでは、Swift による、Mac OS X アプリケーションの作成方法を、説明しています。

2016年1月20日

home  目次  前へ  次へ  mail


関数

 関数 (function、ファンクション) を使うと、一定の処理を、一つにまとめることができます。

import Cocoa

func grades() {
    
    let score = arc4random_uniform(101)
    
    switch score {
    case 80...100:
        print("\(score)点、成績はAです")
    case 70...79:
        print("\(score)点、成績はBです")
    case 60...69:
        print("\(score)点、成績はCです")
    default:
        print("\(score)点、落第です")
    }
}

grades()
grades()
grades()

 関数は、キーワード func で始めます。

 ここでは関数名を、grades にしました。関数名は自由に決めることができますが、慣習として、小文字で始めることになっています。

 関数名の後の ( と ) の間に、引数と呼ばれるものを、記述します。引数がない場合でも、( と ) は、省略することができません。

 関数で処理する内容は、必ず { と } の間に記述しなければなりません。

let score = arc4random_uniform(101)

 ard4random_uniform は、Apple によって用意されている関数です。この関数は、0 から引数の値の一つ下までの、ランダムな整数を返します。ここでは、0から100までの整数が返されることになります。

 関数は定義するだけでは、実行されません。「関数名( )」と記述して、関数を実行する必要があります。ここでは3回実行しています。実行するたびに、違った結果が、デバックエリアに表示されます。なお、関数を実行することを、関数を呼び出すともいいます。


引数

関数は、引数を受け取って、それをもとに、処理を実行することもできます。

import Cocoa

func grades(score:Int) {
    
    switch score {
    case 80...100:
        print("\(score)点、成績はAです")
    case 70...79:
        print("\(score)点、成績はBです")
    case 60...69:
        print("\(score)点、成績はCです")
    default:
        print("\(score)点、落第です")
    }
}

grades(80)
grades(60)
grades(40)
func grades(score:Int)

 引数は、定数となります。ここでは let score: Int と記述するのと同じことになりますが、引数の let は省略されます。引数も必ず型を指定しなければいけません。

 引数は、関数内で、普通の定数と同じように使われます。

grades(80)

 引数のある関数を呼び出す場合は、必ず、引数に値を指定して、呼び出します。

 ここでは、grades 関数を、違った引数を指定して、3回呼び出しています。


戻り値

 関数は、関数の呼び出しもとへ、値を返すこともできます。この返される値のことを「戻り値」と言います。なお、戻り値は、「返り値」と呼ばれることもあります。

import Cocoa

func grades(score:Int) ->String {
    
    switch score {
    case 80...100:
        return "\(score)点、成績はAです"
    case 70...79:
        return "\(score)点、成績はBです"
    case 60...69:
        return "\(score)点、成績はCです"
    default:
        return "\(score)点、落第です"
    }
}

print(grades(80))
print(grades(60))
print(grades(40))
func grades(score:Int) -> String

 戻り値がある場合は、「->」を記述して、そのあとに戻り値の型を記述します。

return "\(score)点、成績はAです"

 戻り値のある関数では、-> で指定した型と、同じ型の戻り値を、必ず返さなければなりません。

print(grades(80))

 print 関数の引数には、文字列を表す定数や変数だけでなく、文字列を返す、式や関数も指定することができます。


お疲れ様でした。

 次章では、オブジェクト指向プログラミング言語 (object-oriented programming language) の特徴である、クラスを学習します。


home  目次  前へ  次へ  mail


無断転載禁止
Copyright 2016. vivacocoa.jp All right reserved.