Swiftではfuncでメソッドを定義する。 funcの引数に出てくるアンダースコアやシャープはExternal Parameter Namesという。 これはメソッドの引数をラベル化する場合に使う。Rubyのキーワード引数と似ている。 Swiftでは第二引数以降はラベルを付けて呼び出す必要がある func join(s1: String, s2: String, joiner: String) -> String { return s1 + joiner + s2 } join("hello", "world", ":") // => コンパイルエラー join("hello", s2: "world", joiner: ":") // => OK https://developer.apple.com/library/prerelease/ios/documentation/swift