詰めswift [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2016/10/17(月) 07:26:01.96ID: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がエラーになった
2016/11/18(金) 12:36:36.52ID:slfuYiby
>>44
自己レス

これ、caseとdefaultを逆にして
UInt8だけを除け者にしようとしたら
defaultの中でエンディアン指定の初期化なんて知らないもんね
って言われた

そりゃそうなんだけどさ

エンディアン指定初期化をくくるプロトコルを標準で入れてくれ!!
IntegerTypeに入れてもいいぞ、8bitの時はそのままの値で


あとは、リフレクションで出来るかどうかだな
動的になっちゃうけど
Swiftのリフレクションて何ができるのかな?
2016/12/12(月) 06:38:11.91ID:y+Doho0R
ズンドコしてみますた

import Foundation
func ズンドコ()->String{return arc4random_uniform(2)==0 ?
2016/12/12(月) 06:39:28.62ID:y+Doho0R
ズンドコしてみますた
import Foundation
func ズンドコ()->String{return arc4random_uniform(2)==0 ? "ズン" : "ドコ"}
let 期待値="ズンズンズンズンドコ"
var 履歴=String()
while(true){
let 今回=ズンドコ()
print(今回)
履歴.append(今回)
if 履歴.hasSuffix(期待値){
print("キ・ヨ・シ・!")
break
}
}

http://swiftlang.ng.bluemix.net/#/repl/584dc645c1c4e155aaee6ac6

IBM Sandboxはarc4random系が無いみたいなのでrand()%2で代用
無限ループを乱数で抜ける&履歴切り捨てが無いので条件によっては運が悪いとクラッシュするかも
48デフォルトの名無しさん
垢版 |
2018/05/23(水) 22:41:40.90ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

7YIPP
49デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:25:26.40ID:gFgZc5FG
MV8
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況