- 詰めswift [無断転載禁止]©2ch.net
1 :デフォルトの名無しさん[]:2016/10/17(月) 07:26:01.96 ID:Cfbu+94c - swiftらしい簡潔な書き方を追求するスレ
昔「詰めvi」というスレが好きだったので立ててみました。 [出題者] ・問題を定義。実現したい機能、データ構造、制約条件等を簡潔に記載 ・自分の解答例のコードを記載。この時点ではへぼいコードでも問題ないです ・自分の解答例への感想、改善要望等の記載推奨。工夫した点、不満な点(もう少しこうしたい)、こう書けるはずなのにエラーになったなど [挑戦者] ・出題に対して「俺ならこう書く」というのをコードで回答 お約束 ・コードで語ろう 投稿は実際に動作するコードを付けることを原則とします。 「この書き方は好き」とか複数の投稿済みコードに対して「こちらの方がSwiftらしい」みたいなことはコード無しでもOK。 他の人を批判する場合は必ずそれに相応する動作可能コードを付けること。 ・コード無しでディスるだけの人は徹底無視 ・投稿するコードはXCode8のプレイグラウンドまたは”IBM Swift Sandbox”にペーストしてそのまま動作すること ・環境は当面Swift3ベース、Swift Standard Library、Foundation Libraryの範囲とします。 異なる場合は動作環境を明記のこと。 評価基準 ・swiftらしい書き方かどうか 簡潔性、直交性等 ・意図が明確か ・短いは正義 例1 1から100までの奇数の2乗の合計を求める let a = Array(1...100).filter{$0%2==1}.map{$0*$0} let b = a.reduce(0){$0+$1} 1行で書きたかったがplaygroundがエラーになった
|