Swift part8 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0309デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 13:59:51.41ID:XegmBRIM0順番が違う
lastは「最後の要素を返す、ただし配列が空ならnilを返す」プロパティ
これを逆にセッターとしてまじめに実装するなら「最後の要素を(右辺値)にする、ただし(右辺値)がnilなら配列を空にする」でなくてはならない
これはおかしい
では気を利かせて「ただし(右辺値)がnilなら何もしない」or「…nilなら削除する」とでもするか?
そうするとAPIの一貫性、対称性を破壊するし、「気を利かせた」部分の「何もしない」や「削除する」という動作が非常に予想し難くなる
なぜこういう困難が発生するかといえば、つまるところlastというAPIが因→果の一方向のread onlyなAPIとして意図されているからである
こういうことを>>302は指摘してくれてる
■ このスレッドは過去ログ倉庫に格納されています