Swift part2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/06/11(水) 14:42:15.02ID:+13mKJ0ZApple 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
今のところbeta版のXcode 6がSwift対応らしい
https://developer.apple.com/xcode/downloads/
関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
0652デフォルトの名無しさん
2014/07/10(木) 01:07:29.71ID:rjypBW2y0653デフォルトの名無しさん
2014/07/10(木) 01:22:21.83ID:O9lWsLgo絶賛コメだけじゃなく冷静な批評でもいいのよ
0654デフォルトの名無しさん
2014/07/10(木) 01:24:54.21ID:9na9WfzA0655デフォルトの名無しさん
2014/07/10(木) 02:33:50.13ID:BC+DaKWG「そんなにAppleが憎いなら使わなくていいのよ?」
で、あたまおかしな人を即パージできるからな。
0656デフォルトの名無しさん
2014/07/10(木) 03:28:17.54ID:E7hqdO7Dエポックメイキングな言語とはいえないよね
他の言語を参考に適当に混ぜてちょっとだけ特色出してみましたw
的な言語
そういう意味では、MSのTypeScriptや、GoogleのGo言語を後追いしたにすぎないね
0657デフォルトの名無しさん
2014/07/10(木) 04:25:12.25ID:maMZBDnX0658デフォルトの名無しさん
2014/07/10(木) 05:51:18.93ID:D385SCPI誰がなんと言おうと、Appleにとって最善の言語となった。
終わり
0659デフォルトの名無しさん
2014/07/10(木) 11:17:45.53ID:Z+u99TiJこんどはARMになってCocoaが葬り去されるんですね楽しみです
0660デフォルトの名無しさん
2014/07/10(木) 11:57:24.05ID:Z+u99TiJhttps://gist.github.com/mattt/f457625af116721ffb57
0661デフォルトの名無しさん
2014/07/10(木) 12:08:09.28ID:WUOyQ2abCocoaはそのままだろ
0662デフォルトの名無しさん
2014/07/10(木) 12:10:20.82ID:jxZKmF3sAPIと言語の違いが分からないような人に近付いちゃダメ。
0663デフォルトの名無しさん
2014/07/10(木) 12:25:15.94ID:Z+u99TiJ0664デフォルトの名無しさん
2014/07/10(木) 12:39:58.73ID:xv3o/8yi現実的には言語とAPIは密接に関係してるから
そのうちSwiftネイティブなAPIセットを作るんじゃねというのは
あながちおかしなこと言ってるわけでもないと思う
0665デフォルトの名無しさん
2014/07/10(木) 12:41:47.50ID:xv3o/8yi0666デフォルトの名無しさん
2014/07/10(木) 13:08:56.63ID:GRhY2avWそれにSwiftから見たCocoaは
Implicitly Unwrapped Optionalだらけの魔界だ
真にType safetyな世界に行くには、1からAPIを作り直すほか無いだろう
0667デフォルトの名無しさん
2014/07/10(木) 13:56:03.17ID:xv3o/8yi0668デフォルトの名無しさん
2014/07/10(木) 14:06:43.59ID:o0OR8ld+as?ではなくas使う時点で危険と認識すればよし
0669デフォルトの名無しさん
2014/07/10(木) 16:18:30.34ID:NUwbDbLiCoreFoundationはどこに位置するの?
0670デフォルトの名無しさん
2014/07/10(木) 16:33:09.15ID:U0c3Ed3Kconvenient initとdesignated initが言語仕様として区別されるとか
super.init を呼びわすれるとコンパイルが通らないとか
0671デフォルトの名無しさん
2014/07/10(木) 16:43:07.44ID:lVukJkUe数学記号のこと言ってるなら
https://devforums.apple.com/message/1000934#1000934
> It's not documented yet, but the set of allowed operator characters
> includes 'math' and 'symbol' characters in the Unicode BMP,
> and operator characters can be augmented with combining characters.
> The full set of supported characters will be documented in one of the following seeds.
0672デフォルトの名無しさん
2014/07/10(木) 16:49:23.73ID:jYdaLKAGうんこの絵文字とかはダメなのか
しかし、こんな機能必要かねぇ
0673デフォルトの名無しさん
2014/07/10(木) 16:56:56.80ID:rqwHIJIbああ、当然こういうことも出来るのか。すげえな楽しいわ。
0674デフォルトの名無しさん
2014/07/10(木) 19:09:01.95ID:XIjKZonp0675デフォルトの名無しさん
2014/07/10(木) 19:23:27.83ID:vGHCaEiD理由がわからん
0676デフォルトの名無しさん
2014/07/10(木) 19:25:27.65ID:rqwHIJIb0677デフォルトの名無しさん
2014/07/10(木) 19:27:00.67ID:jYdaLKAGNSInvocationを使ってる NSUndoManager がふつうに使えたので安心した
0678デフォルトの名無しさん
2014/07/10(木) 23:13:49.04ID:Y22Tg+si#define 判定 if
#define 次の間繰り返す while
#define 戻す return
#define 次の別名を作る typedef
次の別名を作る void 無し;
次の別名を作る char 文字;
次の別名を作る int 整数;
次の別名を作る float 単精度浮動小数
次の別名を作る double 倍精度浮動少数
#define 短い short
#define 長い long
#define 符号付き signed
#define 符号無し unsigned
#define 入出力用 volatile
#define 不変 const
#define 可変 mutable
#define 穏健 static
#define 名前空間 namespace
#define 使う using
0679デフォルトの名無しさん
2014/07/10(木) 23:25:09.13ID:P/v5Wc4f0680デフォルトの名無しさん
2014/07/10(木) 23:28:51.53ID:lVukJkUeメソッドも呼び出せる! Swiftの強力な「列挙型」
http://codezine.jp/article/detail/7886?p=3
> このInt?型の返り値に対し、Int型に定義されているdescription()メソッドを呼び出したいとしましょう。(略)
> let numStr: String = "134"
> numStr.toInt().description() // エラー
>
> しかし、「.」の前に「?」を置くことでそれが可能になります。この仕組みがオプショナルチェーンです。
> let numStr: String = "134"
> numStr.toInt()?.description() // Some "134"
0681デフォルトの名無しさん
2014/07/10(木) 23:57:21.29ID:D385SCPI0682デフォルトの名無しさん
2014/07/11(金) 00:29:23.34ID:aG0lM3e/クソワロタ。カタカナにしただけじゃねぇか
0683デフォルトの名無しさん
2014/07/11(金) 01:01:57.33ID:RRV/Pxnb0684デフォルトの名無しさん
2014/07/11(金) 01:20:04.92ID:CNdrj7fpclass A {}
class B : A {}
protocol AAA { func hoge(x: B) }
class Hoge : AAA { func hoge(x: A) {} }
0685デフォルトの名無しさん
2014/07/11(金) 02:23:59.31ID:MKluaUW0定義するときの書き方が違うだけで一応どの書き方でも書けるんだな
・イニシャライザ
init(message: String, to: String) {...} // 全部キーワードつける
init(_ message: String, to: String) {...} // 最初だけキーワードつけない
init(_ message: String, _ to: String) {...} // 全部キーワードつけない
・メソッド
func say(message msg: String, to: String) {...} // 全部キーワードつける
func sayMessage(message: String, to: String) {...} // 最初だけキーワードつけない
func sayMessageTo(message: String, _ to: String) {...} // 全部キーワードつけない
・関数
func print(message msg: String, to target: String) {...} // 全部キーワードつける
func printMessage(message: String, to target: String) {...} // 最初だけキーワードつけない
func printMessageTo(message: String, to: String) {...} // 全部キーワードつけない
0686デフォルトの名無しさん
2014/07/11(金) 08:14:28.21ID:uNtAoQ80使う方法が一般的だったんだが、
なんで初期化子を直呼びする様になったんだ。
不便極まりない。
0687デフォルトの名無しさん
2014/07/11(金) 08:17:27.29ID:PGMEzY6Rという至極真っ当でAppleらしからぬ思想の言語だから
0688デフォルトの名無しさん
2014/07/11(金) 08:17:36.76ID:mjjIchhE>Int型に定義されているdescription()メソッド
description はメソッドじゃなくてプロパティ
>numStr.toInt().description() // エラー
エラーになるのはメソッドとして呼ぼうとしてるからで
numStr.toInt().description // これなら普通におk
>しかし、「.」の前に「?」を置くことでそれが可能になります。
>numStr.toInt()?.description() // Some "134"
だから .description() ってやってる限り無理だっつってんだろ
こいつコード動くか実際に試さず書いてるな
これだからクラスメソッドは信用できないんだ
0689デフォルトの名無しさん
2014/07/11(金) 10:55:34.77ID:Lx3So7Yg0690デフォルトの名無しさん
2014/07/11(金) 11:08:18.34ID:MKluaUW0そのときのObjCとSwiftのブリッジングってどうなってるんだろう?と思って試してみたら
Swift→ObjCは
init(message: String, to: String) → initWithMessage: to:
init(_ message: String, to: String) → init: to:
init(_ message: String, _ to: String) → init: :
・メソッド
func say(message msg: String, to: String) → sayWithMessage: to:
func say(message: String, to: String) → say: to:
func say(message: String, _ to: String) → say: :
ObjC→Swiftは
initWithA: b: → init(a: 〜, b: 〜)
みたいにメソッド名が自動変換されるんだな
じゃぁ func say(message msg: String, to: String) の他に func sayWithMessage(message: String, to: String) とか、
initWithA: B: の他に initA: B: とかがあったら同じ名前になって競合するんじゃねーの?と思ったら、片方が無かったことにされた・・・
まぁ、実際そんな名前ついたイニシャライザやメソッドがあるなんてことは無いだろうし、問題は起きないんだろうけど
0691デフォルトの名無しさん
2014/07/11(金) 11:27:42.48ID:CNdrj7fpnumStr.toInt()?.description でも
numStr.toInt().description でもコンパイル通るのよ
こんな特殊なものを例に上げたのがまちがい
0692デフォルトの名無しさん
2014/07/11(金) 12:38:41.57ID:jyGo9R2ghttp://stackoverflow.com/questions/24682387
0693デフォルトの名無しさん
2014/07/11(金) 13:13:47.55ID:GkReUTvU?
0694デフォルトの名無しさん
2014/07/11(金) 19:39:36.60ID:jyGo9R2g0695デフォルトの名無しさん
2014/07/11(金) 22:48:06.60ID:izMO91L20696デフォルトの名無しさん
2014/07/12(土) 01:43:26.47ID:pUnCThIkC言語との連携は結構よくできてるわ
0697デフォルトの名無しさん
2014/07/12(土) 02:16:53.71ID:R5OtEg7d0698デフォルトの名無しさん
2014/07/12(土) 02:42:46.74ID:pUnCThIkmmapでバイナリファイル読む例
http://codepad.org/SQH29SHl
0699デフォルトの名無しさん
2014/07/12(土) 06:52:52.22ID:Pi6lV0ruそんな馬鹿なと思ってプロファイラ見たら配列生成の内部ストレージ確保が
めっちゃ時間食ってるみたい
0700デフォルトの名無しさん
2014/07/12(土) 08:44:15.61ID:7baV5ONW0701デフォルトの名無しさん
2014/07/12(土) 13:57:25.38ID:R5OtEg7dhttps://developer.apple.com/swift/blog/
0702デフォルトの名無しさん
2014/07/12(土) 14:17:49.48ID:R5OtEg7dhttp://qiita.com/dankogai/items/052a3ad6f32d114a33fc
0703デフォルトの名無しさん
2014/07/12(土) 19:20:58.04ID:xLJj+FnH0704デフォルトの名無しさん
2014/07/12(土) 19:24:00.64ID:BxmHv/rKアップルはすぐ長ったらしい拡張子つけるよね。xcworkspaceとか。
てか、拡張子って3文字以下じゃないと駄目みたいな決まりなかったっけ?
swfとかでいいのにね。
0705デフォルトの名無しさん
2014/07/12(土) 19:31:52.68ID:xLJj+FnH確かに
.xcodeprojとかもあったな
ところで.swfは釣りっすか?w
0706デフォルトの名無しさん
2014/07/12(土) 19:40:07.02ID:hFyjpWla0707デフォルトの名無しさん
2014/07/12(土) 19:54:39.63ID:6CFefVBC0708デフォルトの名無しさん
2014/07/12(土) 19:56:25.31ID:CDlL/Wk/それはMS-DOSというかその前のCP/Mの制限だな。ファイル名8文字+拡張子3文字。
UNIXなんかは元々ファイルシステム上では単一の文字列でピリオド以降を拡張子として解釈するだけだから特に制限はない。
昔のMacOSだとファイル名と別に4文字までのTYPEが付けられる。
0709デフォルトの名無しさん
2014/07/12(土) 19:58:38.41ID:QxcUStnc0710デフォルトの名無しさん
2014/07/12(土) 19:59:03.13ID:awTqtEB0拡張子が3文字以下なことが多いのは、大昔の制限の名残だよ。
swiftは5文字なんだからそのままでいいでしょ
Scalaの拡張子もscalaだし
0711デフォルトの名無しさん
2014/07/12(土) 20:14:12.27ID:CKeavNXA冷静に考えよう
scala が 3文字になったら sca ですよ
0712デフォルトの名無しさん
2014/07/12(土) 20:15:43.85ID:uQaOo2aVそりゃプロジェクトファイルなんて数が少ないからどうでもいいんだよ
MSはソースファイルの拡張子は長くしない
0713デフォルトの名無しさん
2014/07/12(土) 21:17:23.03ID:HSia6VRMC++ (vector) --> 0.068秒
Python -> 0.173秒
Ruby --> 0.169秒
Swift (-Ofast付き) -> 2.32 秒
正式リリースまでにはまともになるのだろうか
0714デフォルトの名無しさん
2014/07/12(土) 21:23:12.71ID:74gS95aI0715デフォルトの名無しさん
2014/07/12(土) 21:28:51.25ID:YFp0R0a/FATファイルシステムの制限だよね。
0716デフォルトの名無しさん
2014/07/12(土) 21:39:21.19ID:HSia6VRM測ってみた
ObjC (NSArray) --> 0.414秒
0717デフォルトの名無しさん
2014/07/12(土) 21:43:46.26ID:74gS95aI0718デフォルトの名無しさん
2014/07/12(土) 21:52:52.01ID:I6M2/WNb糞言語だな
0719デフォルトの名無しさん
2014/07/12(土) 21:59:41.56ID:6CFefVBC0720デフォルトの名無しさん
2014/07/12(土) 22:07:44.47ID:R5OtEg7d作っておけば勝手に早くなってくれるんだから気にすることは無い。
0721デフォルトの名無しさん
2014/07/12(土) 22:15:35.10ID:ktHPdObyスレチになるけど、Python と Ruby の差が
予想以上に小さいことに驚いた
何か魔法を使っている?
それとも Python 最速伝説は幻想だったのかなぁ ....
0723デフォルトの名無しさん
2014/07/12(土) 22:19:33.25ID:UUivqCYRrubyは1.9からVMになってて、かなり高速化した。
まあ、配列作るだけのベンチマークにどれだけ意味があるのか分からんが
0724デフォルトの名無しさん
2014/07/12(土) 22:23:10.11ID:QxcUStnc0725デフォルトの名無しさん
2014/07/12(土) 22:36:49.50ID:B7XGURdfディクショナリ型はどうかなぁ
0726デフォルトの名無しさん
2014/07/12(土) 22:42:25.77ID:74gS95aI0727デフォルトの名無しさん
2014/07/13(日) 00:01:10.09ID:2r9XuANiWindowsにもthemeやmanifestなんて拡張子が増えたね
0728デフォルトの名無しさん
2014/07/13(日) 03:27:41.34ID:hh7t9GxI0729デフォルトの名無しさん
2014/07/13(日) 03:28:55.46ID:hh7t9GxIそのうち拡張子にホワイトスペースが含まれる時代がもうすぐ
0730デフォルトの名無しさん
2014/07/13(日) 08:43:44.21ID:FukqOMB8おまえのソース、みたくないものだな
0731デフォルトの名無しさん
2014/07/13(日) 12:53:54.09ID:f0JToqLxこの調子でSwiftコンパイラとlibswift_stdlibもオープンソースにしてくだしあ
0732デフォルトの名無しさん
2014/07/13(日) 12:56:08.02ID:zSV3XHBMCの良さを捨て去ったSwiftは許せん
0733デフォルトの名無しさん
2014/07/13(日) 13:20:52.58ID:hh7t9GxI0734デフォルトの名無しさん
2014/07/13(日) 13:54:25.32ID:Xj6Z/8Xz三日坊主にならなきゃいいが
0735デフォルトの名無しさん
2014/07/13(日) 13:59:12.52ID:XamuTFgihttps://github.com/ksm/SwiftInFlux
0736デフォルトの名無しさん
2014/07/13(日) 14:22:15.47ID:Au996OtXじゃあ安心して今後の改善に期待していいかな?
0737デフォルトの名無しさん
2014/07/13(日) 14:42:18.87ID:09pjGLVO> full grapheme clusters, which are composed of multiple code points.
Character
Note that Character is still evolving and will settle down by the final release of 1.0.
One of the reasons that we use double quote syntax to initialize Characters is that they are expected to be able to hold full grapheme clusters, which are composed of multiple code points. This will roll out in a later beta.
-- Chris Lattner
grapheme 字素
http://m.kotobank.jp/word/グラフィーム
0738デフォルトの名無しさん
2014/07/13(日) 14:47:04.79ID:XamuTFgiアクセントや濁点等の結合文字とか、サロゲートペアとか
文字コード上では2文字でも見た目が1文字なら1文字のCharacterとして扱うということでしょ
0739デフォルトの名無しさん
2014/07/13(日) 14:48:19.25ID:Au996OtXこういうこと
0740デフォルトの名無しさん
2014/07/13(日) 14:52:53.43ID:09pjGLVO日本も昔のASCII時代の濁点は困ってたけど。
0741デフォルトの名無しさん
2014/07/13(日) 14:57:34.52ID:BT8HK/tO多忙すぎてオープンソースにするかどうかの議論すらやる暇ないそうな
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073698.html
0742デフォルトの名無しさん
2014/07/13(日) 16:15:17.48ID:mp4RlYuSがんばれ
0743デフォルトの名無しさん
2014/07/14(月) 15:34:51.35ID:lReUhcBfあー、SwiftのREPLってこういう恩恵もあるのか
これは地味に嬉しい
0744デフォルトの名無しさん
2014/07/14(月) 16:24:45.59ID:JENp6B27Objective-Cでも使えるよ、repl関係ないよ
0745デフォルトの名無しさん
2014/07/14(月) 16:32:30.07ID:GToJEt01こんなクローズドな言語イラネ
0746デフォルトの名無しさん
2014/07/14(月) 16:50:08.98ID:xs99ZBfy0747デフォルトの名無しさん
2014/07/14(月) 16:58:55.70ID:lReUhcBfありゃ、そうなのかすまん
IB上ですぐ反映されるっていうから例のPlaygroundみたいに裏で実行してるのかと思ったよ
0748デフォルトの名無しさん
2014/07/14(月) 17:08:43.73ID:Z5ME5LpP0749デフォルトの名無しさん
2014/07/14(月) 17:10:01.47ID:4Au1+Pyc0750デフォルトの名無しさん
2014/07/14(月) 17:10:03.91ID:sQKqFHYbミ 彡 ,.ィi彡',.=从i、;;;;;;;;;;;;
三 ギ そ 三 ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
三. ャ れ 三 ,. -‐==- 、, /!li/'/ l'' l', ',ヾ,ヽ;
三 グ は 三 ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
三 で 三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
三. 言 ひ 三 .,,__/ . ,' ン′  ̄
三 っ ょ 三 / i l,
三. て っ 三 ノ ..::.:... ,_ i ! `´' J
三 る と 三 iェァメ`'7rュ、,ー' i }エ=、
三 の し 三 ノ "'  ̄ ! '';;;;;;;
三 か て 三. iヽ,_ン J l
三 !? 三 !し=、 ヽ i ,.
彡 ミ ! "'' `'′ ヽ、,,__,,..,_ィ,..r,',",
彡川川川ミ. l _, , | ` ー、≡=,ン _,,,
ヽ、 _,,,,,ィニ三"'" ,,.'ヘ rー‐ ''''''"
`, i'''ニ'" ,. -‐'" `/
ヽ ! i´ /
ノレ'ー'! / O
0751デフォルトの名無しさん
2014/07/14(月) 17:28:00.59ID:KGa9EEJehttp://qiita.com/dankogai/items/d63dfda25088165deed5
■ このスレッドは過去ログ倉庫に格納されています