トップページ > プログラム > 2014年06月21日 > qifWmRUG

書き込み順位&時間帯一覧

13 位/220 ID中時間01234567891011121314151617181920212223Total
書き込み数0000110000000000000002004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Swift part2

書き込みレス一覧

Swift part2
189 :デフォルトの名無しさん[sage]:2014/06/21(土) 04:53:39.17 ID:qifWmRUG
functionの引数でexternal nameとlocal nameが設定できるけど別々の名前にするメリットって何ですか?
Swift part2
190 :デフォルトの名無しさん[sage]:2014/06/21(土) 05:59:44.67 ID:qifWmRUG
このサンプルコードを見てなんとなく使い所が分かりました

struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)

でもこれなら個人的には
func moveByX(x: Double, y: Double) {
self.x += x
self.y += y
}
って書く方がすっきりしてる様に思いました。好みですかね?
Swift part2
195 :デフォルトの名無しさん[sage]:2014/06/21(土) 21:00:36.35 ID:qifWmRUG
>>192
こう書けたら分かりやすかったのにと思います。
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x: Double, y: Double) {
self.x += x
self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)

実際は以下のようにxの方だけ#を付けないとエラーが出てしまいます。
func moveBy(#x: Double, y: Double)
1つ目の引数だけ扱いが違うのがちょっとややこしいです。

もしくは例に挙げてもらったこれ
func moveBy(x deltaX: Double ,y deltaY: Double)
手間は少し増えるけどミスは減りそうです。
Swift part2
197 :デフォルトの名無しさん[sage]:2014/06/21(土) 21:03:55.24 ID:qifWmRUG
結局、メリットは分かりやすくなるって事ですね。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。