タプルのラベル

投稿者: | 2017年3月21日

datecountコマンドをアップデートしました。バージョン1.4で任意の日付からの計算ができるように、バージョン1.5で簡易出力ができるように変更しました。その際につまづいたことなどをまとめます。

まずはタプルの使用法について。オブジェクトのメソッドにタプルを使ったとき、どうやってその値にアクセスするのか?ちょっと悩んでしまいました。普通に変数や定数で定義するときは簡単なんですけどね。

let dataSet = (first:"First data", second:"Second data")
print(dataSet.first)

で、結論はこれ。メソッド定義の戻り値のところ。型指定にラベルを付けてやると意図どおりの結果になります。

func example() -> (first:String, second:String) {
  return ("First data", "Second data")
}
let dataSet:example(first:String, second:String) = example()
print(dataSet.first)

実はだいぶ前に週番号表示カレンダーのところで関数の戻り値をタプルで返していて、ここではなぜか上記のとおりに指定していました。すっかり忘れていたんだね。

ダメな例はこちら。

func example() -> (String, String) {
  return (first:"First data", second:"Second data")
}
let dataSet = example()
print(dataSet.first)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です