Swift part3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/07/23(水) 11:46:48.42ID:x29J8vdYApple Developer
https://developer.apple.com/swift/
Welcome to Swift
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/
iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Swift Standard Library Reference
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/
Swift Blog
https://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
https://developer.apple.com/swift/resources/
関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/
前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
0116デフォルトの名無しさん
2014/08/18(月) 16:43:01.98ID:nVnuxrx8Cのfor文の丸括弧を取っ払っただけだし,C++,C#,Javascriptでも同種の構文があるんだが。
何にも知らないんだね。
0117デフォルトの名無しさん
2014/08/18(月) 16:46:35.71ID:r8tHn57ofor文で <= 使うのはかなり特殊なケースだから勘違いしちゃったよ
まあこう書くと反論する人いるだろうからこのへんでー
0118デフォルトの名無しさん
2014/08/18(月) 21:16:14.69ID:jy6904iqぎゃくに、ちょこまか変えてるのが今はウザい
しかも、つけてもコンパイルとおるって言う
じゃあ何でとったっていう
0119デフォルトの名無しさん
2014/08/18(月) 21:19:53.54ID:WWtz0eQIしばらくSwift書いてObjCに戻ったらセミコロンがもの凄くかったるく感じる
0120デフォルトの名無しさん
2014/08/18(月) 21:42:59.44ID:En9s5gLvaaa(); bbb()
こんな風に一行で書くには;がいるわけ
今は省けるもんは省くのがトレンドだからね(型推論にしても)
でも、Swiftは無闇に省いているわけではない。
例えば、ifなどの制御構文のブロックとか、return句とかは必須だ。
0121デフォルトの名無しさん
2014/08/18(月) 21:43:56.75ID:jy6904iqそうだ、それがうぜー
全部つければ何も考えなくていいのに
0122デフォルトの名無しさん
2014/08/18(月) 21:47:40.83ID:En9s5gLvそのうち慣れて何も考えなくても書けるようになるよ。
0123デフォルトの名無しさん
2014/08/18(月) 21:50:27.90ID:jy6904iqところで、if文ブロックとreturnにセミコロンが必要ってのはどこに書いてあったっけ?
0124デフォルトの名無しさん
2014/08/18(月) 21:53:11.65ID:jy6904iq今リファレンス読んでみたけど、>>120の1行目だけ正しいね
0125デフォルトの名無しさん
2014/08/18(月) 21:56:58.04ID:jy6904iq一行にまとめて書く場合以外は
0126デフォルトの名無しさん
2014/08/18(月) 22:01:50.19ID:En9s5gLvちゃうちゃう、制御文にブロックが必要ってこと
Swiftでは以下のようには書けない
//-------
if (a.hasPrefix("s"))
doSomething()
// これはOK
if (a.hasPrefix("s")) { doSomething() }
//-------
あと、Rubyみたいにどこでもreturnが省けるわけではないということ
//------
func empty() -> String { return "" } // return必須
class SomeClass {
var aaa:String { return "AAA" } // return 必須
}
let f:()->String = { "aaa" } // クロージャは式のみの場合returnを省ける
let f2:()->String = { var a = "aaa"; return a } // こっちはreturn必須
//------
セミコロンにしても、締めるところは締めていると言うことを言いたかったんや。
0127デフォルトの名無しさん
2014/08/18(月) 22:16:02.11ID:jy6904iqなるほど、そういうことか
全部セミコロンの話かと思ってた
どうもありがとう
にしても、
if (a.hasPrefix("s"))
doSomething()
はやりそうだなぁ
Cでも、単文でも極力{ }でくくるようにはしてるけど
0128デフォルトの名無しさん
2014/08/18(月) 22:33:45.06ID:WWtz0eQI0129デフォルトの名無しさん
2014/08/18(月) 23:24:23.43ID:TotxymUgあれ、一目見ておかしいと思わないの? { } でくくっても同じだろ
0130デフォルトの名無しさん
2014/08/19(火) 00:02:18.38ID:dGN2Xh51あんな重要なとこまともにテストしてないのがおかしい
0131デフォルトの名無しさん
2014/08/19(火) 13:57:12.16ID:c6AsXCDxhttp://news.livedoor.com/article/detail/9157615/
「2014年前半のインパクトはもう圧倒的にSwiftの登場。これは間違いなく普及する」と小飼氏が断言する理由は、次の5つに集約されるそうだ。
【1】既存環境の言語との高い互換性
【2】他の言語の“負の遺産”を捨てている
【3】優れたリファレンス
【4】iOSエンジニアをアセンブラ領域まで進出させる可能性
【5】クローズドから始めてオープンへというAppleの戦略意図を感じる
0132デフォルトの名無しさん
2014/08/19(火) 14:08:21.75ID:sBhGF3j60133デフォルトの名無しさん
2014/08/19(火) 14:28:29.94ID:c6AsXCDx0134デフォルトの名無しさん
2014/08/19(火) 15:16:25.26ID:0B3vcACg0135デフォルトの名無しさん
2014/08/19(火) 15:25:47.81ID:sBhGF3j60136デフォルトの名無しさん
2014/08/19(火) 15:38:00.06ID:0B3vcACg俺の書くコードの質と、dankogaiが書くコードには何の関係もないよ。
以前
http://blog.livedoor.jp/dankogai/archives/51767934.html
で偉そうなこと書いてその後こてんぱんにやられてたが、少なくとも404 Blog Not Foundに書かれるコードは糞コードだらけだ。
0137デフォルトの名無しさん
2014/08/19(火) 15:57:36.88ID:sBhGF3j6どこがどういう理由で糞なのか参考までに教えて頂けると助かります。
0138デフォルトの名無しさん
2014/08/19(火) 16:00:56.56ID:muSpSvbP下までスクロールするとブラウザがフリーズした
0139デフォルトの名無しさん
2014/08/19(火) 16:13:13.66ID:lLkg1CgN404で見たこと無い。 Swift のコードはほとんどQiitaだろ
最近Swiftばかり
0140デフォルトの名無しさん
2014/08/19(火) 16:19:24.69ID:lLkg1CgN0141デフォルトの名無しさん
2014/08/19(火) 16:24:34.18ID:0B3vcACg何年前って2012年の記事だろ。
> Swift のコードはほとんどQiitaだろ
あ、そうなの?dankogaiのまともなコードがあるならリンクよろしく。まあないと思うけどな。
0142デフォルトの名無しさん
2014/08/19(火) 16:27:25.14ID:sBhGF3j60143デフォルトの名無しさん
2014/08/19(火) 16:33:02.29ID:0B3vcACgなんかPerlの貢献度が高かったらしいのは知ってるが。
0144デフォルトの名無しさん
2014/08/19(火) 16:39:53.20ID:sBhGF3j6ゲームは作ってないけど
0145デフォルトの名無しさん
2014/08/19(火) 16:58:08.56ID:lLkg1CgNSwiftが出たのは6月だぞ
Qiitaも見たこと無いでコードの話をするなんて変なの 最も纏まったコードは無いけど
リンクも何もQiita Swift dankogai で検索すれば沢山出てくるから自分で見ろよ
0146デフォルトの名無しさん
2014/08/19(火) 19:08:01.93ID:b1cKAETJ場合によりけり。こと言語関連に限っては2年はそう昔の話ではないだろう
単に流行だけを追いかけてるだけなら 2年も前の話なんてカビが生えて かもしれないがな
0147デフォルトの名無しさん
2014/08/19(火) 19:09:17.26ID:TLaA01XG0148デフォルトの名無しさん
2014/08/19(火) 20:08:11.95ID:V8/7iNdrPatch pleaseでいいんじゃね。
swiftスレらしくswiftのコードに粘着してくれ。
0149デフォルトの名無しさん
2014/08/19(火) 21:19:55.30ID:c6AsXCDx6月以降だけを見ても404の方は数本、Qiitaの方はSwiftだけでも沢山書き込んでる
404は四方山話、コードならQiita
そんな404の古い四方山話を持ち出しても意味無いだろ Perlがもはや坂を転げ落ちてることは本人が良く知ってるだろう
SwiftでJSONとか参考になったよ
コードに文句つけるならSwiftのコードについて意見しろよ
0150デフォルトの名無しさん
2014/08/19(火) 21:49:44.49ID:aN7BQ+Qxhttp://qiita.com/dankogai/items/2d19b8352183cca3461f
var st = stat() // *1
let err = path.withCString { // *2
lstat($0, &st) // *3
}
わざわざ withCString 使うことない
C の const char* には String そのまま渡せる
var st = stat()
let err = lstat(path, &st)
0151デフォルトの名無しさん
2014/08/19(火) 21:56:15.35ID:FQGd2orm小飼弾ばっかり注目されて悔しいニダ
実名で有益なことやってる奴見ると腹立つニダ
0152デフォルトの名無しさん
2014/08/19(火) 22:09:32.82ID:b1cKAETJ0153デフォルトの名無しさん
2014/08/19(火) 22:20:56.13ID:dii/unFmまた色々言語仕様変更したらしいじゃねーか
0154デフォルトの名無しさん
2014/08/19(火) 22:25:06.20ID:RLzZhY/k今回はあんま変更ないじゃん。細かい改良がメインだし
Xcodeでリンクが上手く行かないって問題がなんぼか出ているようだが
0155デフォルトの名無しさん
2014/08/19(火) 22:32:15.29ID:Laa9BX+Vいや、話の趣旨が、C言語の素のデータ型とSwiftとの連携の話なんで
そこは、withCStringでいいでしょ
その後の、withUnsafePointer にも繋がってくわけだし
0156デフォルトの名無しさん
2014/08/19(火) 23:43:35.67ID:I0aXY+SD0157デフォルトの名無しさん
2014/08/20(水) 00:56:55.99ID:9QzdPeJo0158デフォルトの名無しさん
2014/08/20(水) 00:59:22.66ID:+uPYMsWLの *3 の下の
while fgets(&linebuf, Int32(linebufsize-1), fp) {
ここでエラーが出るようになったけど何が変わったんだっけ?
0159デフォルトの名無しさん
2014/08/20(水) 08:51:55.37ID:Nj3MsvBs0160デフォルトの名無しさん
2014/08/20(水) 10:09:10.39ID:+uPYMsWLtype 'UnsafeMutablePointer<Int8>' does not conform to protocol 'BooleanType'
fgetsのreturnが char * でBooleanじゃないよと言ってるんだね
0161デフォルトの名無しさん
2014/08/20(水) 10:27:10.15ID:xEVixHuY> SwiftでJSONとか参考になったよ
え、あのコードで参考になっちゃうんだ
0162デフォルトの名無しさん
2014/08/20(水) 10:40:51.47ID:3XEuOnAAなるよ
0163デフォルトの名無しさん
2014/08/20(水) 10:51:38.06ID:+uPYMsWLSwiftで面倒なJSONの取り扱いをさらに10倍便利にするclass JSON
http://qiita.com/dankogai/items/e3d9882f4d25bc44cc03
0164デフォルトの名無しさん
2014/08/20(水) 11:27:17.95ID:Nj3MsvBs0165デフォルトの名無しさん
2014/08/20(水) 12:32:27.86ID:+uPYMsWL“Optionals no longer implicitly evaluate to true when they have a value and false when they do not, to avoid confusion when working with optional Bool values.
Instead, make an explicit check against nil with the == or != operators to find out if an optional contains a value.”
0166デフォルトの名無しさん
2014/08/20(水) 12:47:51.13ID:IR8yJSUh関係無い
fgets の戻り値は UnsafeMutablePointer<Int8>
UnsafeMutablePointer が BooleanType じゃなくなったのは Beta 6 から
0167デフォルトの名無しさん
2014/08/20(水) 12:52:10.49ID:IR8yJSUhBeta 6 から BooleanType じゃなくなったのは AutoreleasingUnsafeMutablePointer の方だった
UnsafeMutablePointer は Beta 4 までは UnsafePointer で LogicValue プロトコルを実装してたが、
Beta 5 で UnsafeMutablePointer に名前が変更されると同時に BooleanType (Beta 4 以前での LogicValue) じゃなくなった
0168デフォルトの名無しさん
2014/08/23(土) 17:17:29.30ID:nymJgeS4Swiftもオワコンか
0169デフォルトの名無しさん
2014/08/23(土) 17:37:04.91ID:aRrEsiH9今は使ってる層と使っていない層とがはっきり別れている時期
使ってる層は練習で忙しいしβをわきまえてる
使っていない層は話題に乏しい
正式リリースになれば本も出るしスクールもあちこちで開講されるだろうから賑やかになるだろう
0170デフォルトの名無しさん
2014/08/23(土) 17:39:31.87ID:IHW9XXMfObjective-Cでいいんだもん
Windows8出たばっかでWindows9とかいってるMSみたく
いらんもん出すのが流行ってんのか?
0171デフォルトの名無しさん
2014/08/23(土) 18:00:29.13ID:ryYP6lBm脳みその止まった老害乙
0172デフォルトの名無しさん
2014/08/23(土) 18:02:30.45ID:aRrEsiH90173デフォルトの名無しさん
2014/08/23(土) 18:05:07.85ID:IHW9XXMfこんだけ苛立ちをもってレスがつくということは、
既に宗教化が始まっているのだろう
0174デフォルトの名無しさん
2014/08/23(土) 19:04:26.21ID:z5FQz85b0175デフォルトの名無しさん
2014/08/23(土) 19:11:40.66ID:IelLjjft単なるバカなひとだったというオチみたいだぞ
0176デフォルトの名無しさん
2014/08/23(土) 19:13:37.36ID:IHW9XXMfはぁ?
0177デフォルトの名無しさん
2014/08/23(土) 19:26:53.23ID:Yl6l6ODX0178デフォルトの名無しさん
2014/08/23(土) 19:52:51.32ID:IHW9XXMfいや、哀れまれる筋合いはない
swiftは正式リリースしてからいじろうと思ってるもんでね
今はiBooksでリファレンス読んでるところだ
0179デフォルトの名無しさん
2014/08/23(土) 23:18:16.46ID:xFMnB49y0180デフォルトの名無しさん
2014/08/23(土) 23:23:23.46ID:Nda7GXBw0181デフォルトの名無しさん
2014/08/24(日) 00:13:06.66ID:qd84ZpsE0182デフォルトの名無しさん
2014/08/24(日) 00:21:56.61ID:S8LIdnyj0183デフォルトの名無しさん
2014/08/24(日) 00:34:20.72ID:06kH2bwo重要なドキュメントは全部日本語訳されているし、でるかと(Obj-Cもあるし)
英語読めなくても、Qiitaとかでかいつまんだ解説されてるし、基本的な言語仕様はほぼカバーできると思う
0184デフォルトの名無しさん
2014/08/24(日) 00:45:34.91ID:T5+OKawuまぁ、正式にSwift1.0が出るまで日本語ドキュメントはおあずけだろうな。
0185デフォルトの名無しさん
2014/08/24(日) 09:48:40.06ID:PkG6bn0Zそれまで待つのが吉
0186デフォルトの名無しさん
2014/08/24(日) 10:00:28.60ID:3NszDRLe0187デフォルトの名無しさん
2014/08/24(日) 10:26:38.07ID:sw+k5ID2Qiita程度を眺めるが正解
0188デフォルトの名無しさん
2014/08/24(日) 10:42:25.05ID:3NszDRLe急速に成熟していく様がみられるのも今のうち
それに追随しつつ一緒に楽しめるぐらいの心の余裕が欲しいものだな
オムツ替えぐらいどうってことないだろ
0189デフォルトの名無しさん
2014/08/24(日) 10:45:22.43ID:wT+umBBR0190デフォルトの名無しさん
2014/08/24(日) 10:49:27.83ID:PkG6bn0Z0191デフォルトの名無しさん
2014/08/24(日) 10:58:37.58ID:3q0s2rwmすごいでちゅねぇ!
隣の▼■ちゃんなんか、3つも年上なのに比べ物にもならないでちゅねぇ
0192デフォルトの名無しさん
2014/08/24(日) 11:00:33.27ID:sw+k5ID2妥当な例えに笑った
beta 1 の頃の方がスマートだった
0193デフォルトの名無しさん
2014/08/24(日) 11:14:15.44ID:3NszDRLebeta1の頃とすると配列とディクショナリの変数、定数の扱いとかまともになったと思うけど
0194デフォルトの名無しさん
2014/08/24(日) 12:04:00.02ID:jX5TJRGJ言語仕様にすれば良かったのに。
0195デフォルトの名無しさん
2014/08/24(日) 12:55:39.88ID:W1t2ITYg0196デフォルトの名無しさん
2014/08/24(日) 13:09:55.94ID:PkG6bn0Z0197デフォルトの名無しさん
2014/08/24(日) 13:18:11.33ID:67kLGJdTすまんがオムツ替えなら得意だけどオツム替えは手に余るから、
他の人にあたってくれ
0198デフォルトの名無しさん
2014/08/24(日) 13:42:35.49ID:+/Behqyy頭が良さそうだから今後の成長が楽しみ
あれもこれも出来るようになりそう
0199デフォルトの名無しさん
2014/08/24(日) 14:26:56.80ID:06kH2bwo0200デフォルトの名無しさん
2014/08/24(日) 14:34:08.20ID:2hVbZxtL0201デフォルトの名無しさん
2014/08/24(日) 14:44:03.03ID:sw+k5ID20202デフォルトの名無しさん
2014/08/24(日) 15:33:17.11ID:+/Behqyylet s: プログラミング言語? = Swift[2]
http://anago.2ch.net/test/read.cgi/mac/1408755325/
0203デフォルトの名無しさん
2014/08/24(日) 15:39:32.60ID:9+U/b8wnまじめにSwiftプログラミングしているのは日本では弾小飼氏ただ一人しかいない
0204デフォルトの名無しさん
2014/08/24(日) 15:43:57.57ID:wT+umBBR0205デフォルトの名無しさん
2014/08/24(日) 15:48:32.34ID:3NszDRLe0206デフォルトの名無しさん
2014/08/24(日) 15:50:22.01ID:jX5TJRGJ構文がJava Script/Action Script系に似ているという理由で今の状態でも手を出す人は多い。
つい昨日も新Mac板でMacの使い方もしらない新入があちこちのスレで暴れていたし。
0207デフォルトの名無しさん
2014/08/24(日) 16:34:11.26ID:S8LIdnyjCとオブジェクト指向がわかってればだれでもすんなり出来るわ
0208デフォルトの名無しさん
2014/08/24(日) 17:05:17.86ID:+/BehqyyObjCは難しそうだから嫌だと言う人種が居てSwiftはやったことの有る言語みたいだから簡単そうだ
と言う人が結構いると思うよ
それはそれで素晴らしいことだと思う
0209デフォルトの名無しさん
2014/08/24(日) 17:11:14.75ID:S8LIdnyjそうなのかなぁ
まぁ、そうかもねぇ
個人的には
message(argument);
[reciever message: argument1];
で、キレイにCの部分とObjectiveな部分がはっきり区別できる
仕様で好きたっだけど
逆にこの記法が「見た目」だけで敬遠されてる部分はあるかもね
0210デフォルトの名無しさん
2014/08/24(日) 17:45:15.10ID:jX5TJRGJ0211デフォルトの名無しさん
2014/08/24(日) 19:23:00.95ID:VZz4LQ8W0212デフォルトの名無しさん
2014/08/25(月) 00:36:31.31ID:ZYhIgEvx0213デフォルトの名無しさん
2014/08/25(月) 08:40:55.21ID:eTCM4KCx追従しなければどうということはない
0214デフォルトの名無しさん
2014/08/25(月) 08:53:11.46ID:lkLmBLAW0215デフォルトの名無しさん
2014/08/25(月) 09:31:34.86ID:ZYhIgEvx■ このスレッドは過去ログ倉庫に格納されています