Swift part9 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8b3c-/6Y/)
2016/10/18(火) 11:34:44.16ID:oLo879ze0関連スレ
プログラミング言語Swift 3
http://potato.2ch.net/test/read.cgi/mac/1408762479/
[SDK]iPhoneアプリ開発初心者質問箱47[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1470902093/
Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/
Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/
前スレ
Swift part8
http://echo.2ch.net/test/read.cgi/tech/1463149806/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0360デフォルトの名無しさん (スプッッ Sd4a-4xst)
2016/12/29(木) 08:26:39.29ID:uZ56/Y+Td0361デフォルトの名無しさん (ワッチョイ de42-5AW6)
2016/12/29(木) 09:22:43.84ID:bUdbWaJH0根本的に理解が間違ってることを指摘したのにどこが言葉尻なん?
何を指摘したのか理解してないだろ?
0362デフォルトの名無しさん (スップ Sdaa-tTSs)
2016/12/29(木) 09:37:09.17ID:NsphQCuqd〉そういう言葉尻を挙げた煽り
言葉尻?
自分の無知や間違いを認めない方が問題。
とても大切な事。
動きを正しく理解していないから、そういう発言になるんだよ。
理解力が低いから、わからないんだろうな。
0363デフォルトの名無しさん (ワッチョイ 3b42-bIh6)
2016/12/29(木) 10:27:38.30ID:KtJtlY/K0できん
ソースは俺
0364デフォルトの名無しさん (ワッチョイ 0ece-O/vA)
2016/12/29(木) 10:55:47.24ID:ZKfLUl1q0ぶっちゃけ、朗報じゃないな。
エィっと、即刻https 接続必須にすべきだったと思うよ。
0365デフォルトの名無しさん (ワッチョイ d33c-CBwx)
2016/12/29(木) 17:09:44.23ID:Ql74sNGH0だがSwiftにどっぷり使っててたまに触るとど忘れしてるんだよな
0366デフォルトの名無しさん
2016/12/29(木) 20:31:48.17ID:P9vMwfrXコンパイラディレクティブ@class XXXXがswift側から見えないようで
Use of undeclared type ‘XXXX’
ってエラーがでるんですが解決方法とかありますか?
0367デフォルトの名無しさん (JP 0H4f-Vq3R)
2016/12/30(金) 16:15:57.73ID:Q3tvxZdgH老化
0368デフォルトの名無しさん (ササクッテロラ Spa3-LbII)
2016/12/30(金) 18:28:31.72ID:+0G7T/E5p$ cat bridge.h
@class Hello;
$ cat main.swift
let hello = Hello()
$ swift -frontend -c -import-objc-header bridge.h main.swift
main.swift:1:13: error: use of unresolved identifier 'Hello'
@class使わないで、素直に@interfaceで宣言したヘッダを食わせるしかないんじゃないかね
swift-evolutionにも上がってない気がするから、どうしても欲しいなら挙げてみてはどうだろう
0369デフォルトの名無しさん (ワッチョイ f31d-qQw5)
2016/12/31(土) 01:24:26.16ID:JiRCGpmr0"いろは"..."こまち" ~= "かおり"がtrueを返すのが良くわからない
0370デフォルトの名無しさん (ワッチョイ d33c-Sa8B)
2016/12/31(土) 09:25:48.68ID:mE/kuofD0"いろは" <= "かおり" && "かおり" <= "こまち"
0371デフォルトの名無しさん (ワッチョイ f31d-qQw5)
2016/12/31(土) 11:55:44.89ID:JiRCGpmr0ありがとうございます
0372デフォルトの名無しさん (ワッチョイ c678-qQw5)
2017/01/01(日) 16:12:05.39ID:LRDjbo8a0どうしてそう言う文字列判定をやりたくなったのかをkwsk
0373デフォルトの名無しさん (ワッチョイ f31d-qQw5)
2017/01/01(日) 16:49:50.79ID:pJ4YqSE700374デフォルトの名無しさん (アウアウカー Sa6b-nn1e)
2017/01/03(火) 20:58:51.42ID:i262efYCa勉強会でもあれば参加したい。
0375デフォルトの名無しさん (ワッチョイ 865b-O/vA)
2017/01/03(火) 21:21:58.86ID:mYtDE+6700376デフォルトの名無しさん (ワッチョイ 4a3c-cI3V)
2017/01/04(水) 02:15:14.63ID:YVtV1wPR00377デフォルトの名無しさん (ワッチョイ 865b-O/vA)
2017/01/04(水) 09:22:00.67ID:ws9aPhGs00378デフォルトの名無しさん (スッップ Sdaa-4xst)
2017/01/04(水) 09:55:37.90ID:AKqv+vIqdラットナーのセンスがクソ過ぎ
0379デフォルトの名無しさん (ワッチョイ 4ac9-CBwx)
2017/01/04(水) 11:42:36.33ID:UeSeDktg0そんなんだから老害って陰口言われるんだぞオッサン
0380デフォルトの名無しさん (スッップ Sdaa-4xst)
2017/01/04(水) 12:14:42.85ID:JWIK2up0d0381デフォルトの名無しさん (アウアウカー Sa6b-nn1e)
2017/01/04(水) 12:23:42.84ID:BZb3HoVpaプログラミングを1からやりたいという気持ちでした。
なかなかサンプルの内容も?となることがまだ多くて、独学の限界かもって思ってました。
0382デフォルトの名無しさん (ワッチョイ 865b-O/vA)
2017/01/04(水) 12:47:37.75ID:ws9aPhGs0>「無駄に」without C
無駄にねぇw
まあわからんでもない
べつにwithout Cはいいんだけど、Cの便利だったシンタックスも
意地でも変えなきゃいけない感は確かにあるかもな
0383デフォルトの名無しさん (ワッチョイ 865b-O/vA)
2017/01/04(水) 13:01:22.83ID:ws9aPhGs0発展途上なSwiftがまともに勉強する言語だというのは少し可哀想な気もするけど
一つ一つ覚えていけば難しくはないと思うけどな
行き詰まってるポイントでも書いてみればここにいるSwift愛者が答えてくれると思う
0384デフォルトの名無しさん (ササクッテロリ Spa3-fehe)
2017/01/04(水) 14:16:51.43ID:YWPaOegwpEitherが3で公式採用される?って夢見ててワロタ
そう言えばそんなものもあったなぁ
0385デフォルトの名無しさん (ワッチョイ 4a3c-cI3V)
2017/01/04(水) 18:23:56.54ID:YVtV1wPR0最初にプログラミングの独学の仕方を独学することを勧める
Swiftに限って言えば今のところ英語のリソースにあたらないと厳しいと思う
0386デフォルトの名無しさん (ワッチョイ de42-lvqa)
2017/01/04(水) 18:41:03.84ID:SBIBjCGJ0E言語の独学方法を教えてくれ。
0387デフォルトの名無しさん (ワッチョイ 1eba-vAWO)
2017/01/04(水) 18:42:19.06ID:oADIImOs0以上
0388デフォルトの名無しさん (ワッチョイ d33c-Sa8B)
2017/01/04(水) 22:55:09.63ID:MF1GJy5o0読む→調べる(what)→調べる(why)
https://github.com/apple/swift/tree/master/stdlib/public/core
行き詰まったら聞く
0389デフォルトの名無しさん (ワッチョイ 4a3c-cI3V)
2017/01/04(水) 23:50:11.58ID:YVtV1wPR0まず目的の質を高めるのが大事
具体的に解決したい問題が念頭にあるかどうかで学習効率が大きく変わってくる
何のためにプログラミング言語を学ぶのか?
プログラミング言語を学ぶことで解決したい問題は何なのか?
例えば以下の3つなら3番目が断然学習効率が高い(エロ最強)
- 関数型プログラミングの考え方を知るためにHaskellを学ぶ
- iOSアプリを作れるようになるためにSwiftを学ぶ
- エロ動画のコレクションを自動生成できるようになるためにJavaScriptを学ぶ
0390デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/05(木) 00:05:47.40ID:JJBRc58h01. 目的の質を高める
2. 信頼できる優れたリソースを選ぶ
- チュートリアル、本、動画、オンラインコース、その他
- スタンダードライブラリ、サードパーティライブラリ、その他ソースコード
3. 短期間に集中して学ぶ
- 本なら1冊2週間以内が理想、どんなに長くても1ヶ月
4. 読むだけ見るだけじゃなく必ず手を動かす
- 写経するだけでもやらないより格段にいいが自分で考えてコードを書く問題があると身につきやすい
5. ノートを取る
- 本を読み返さなくてもある程度復習できるように
- 自分の場合はアウトライナーを使ってる(マインドマップとかでもいいと思う)
6. 学びながら作る
- 自分が欲しいと思う簡単なツールを学びながら作る
- 例えば「セール中アプリを通知するツール」等
- 言語を学ぶためにはCUIツールのほうが効率がいい
- テキスト処理・ファイル処理・Webスクレイピング等
7. メモる(ノートとは別)
- HOWTO/Tips:〜したい場合にはどうすればいいのか?
- WHY:なぜXXじゃなくYYするのか?
- ERROR:発生したエラー内容とその原因、再発防止策
- VOCABULARY:用語、概念
- REFERENCE:公式ドキュメント、Style Guide、リファレンス
以上が自分のやり方だけど目的や人によってやり方は変わるはず
0391デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/05(木) 00:11:19.38ID:JJBRc58h0良いコードを書くためにはたくさん読んでたくさん書いてたくさん書き直すのが大事だけど
新しいプログラミング言語を身につけるためには自分が使う道具を作ってみること(上の6番)が最重要な気がする
0392デフォルトの名無しさん (ワッチョイ 6f5b-9Pqs)
2017/01/05(木) 00:12:03.17ID:t0+k7rBa00393デフォルトの名無しさん (ワッチョイ 5b3c-IbiL)
2017/01/05(木) 01:08:30.19ID:RQyVxWdy0そりゃ上達するわけだよ
0394デフォルトの名無しさん (スッップ Sdff-9Pqs)
2017/01/05(木) 01:11:24.33ID:YFuTJ90Hd変な癖がついて他言語学ぶときの障害になる
0395デフォルトの名無しさん (ワッチョイ 1b66-SevC)
2017/01/05(木) 06:39:39.52ID:R8ehuYNe0後々に次世代になるポテンシャルはあるのかもしれんが
まだ海の物とも山の物ともつかない発展途上の言語で
なにより古参が困ってるのは
"別にこれでプログラミングが楽になるわけでもなんでもない、
理念なき新しい文法の新言語いつものように一個追加されただけ"
だってとこなんだよなぁ… 特に使う意味がない…
0396デフォルトの名無しさん (JP 0H3f-q3aP)
2017/01/05(木) 06:59:23.35ID:42rV0dhtHわかりますω
0397デフォルトの名無しさん (JP 0H3f-q3aP)
2017/01/05(木) 07:00:36.19ID:42rV0dhtH健保と住基とマイナみたいな
0398デフォルトの名無しさん (ワッチョイ ab8f-S2pU)
2017/01/05(木) 10:22:06.94ID:xO3cTqiR0面倒くさいとしか思わないかな?
null地獄
0399デフォルトの名無しさん (ワッチョイ db1d-+flj)
2017/01/05(木) 10:37:51.41ID:J4n9XDOy00400デフォルトの名無しさん (ワッチョイ 1b7b-spyU)
2017/01/05(木) 12:13:39.84ID:rS/TqFdr0全てのオブジェクトの変数がoptionalであるJavaで入門する奴が多いんだからそこは大した問題じゃなくね
0401デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/05(木) 12:35:52.19ID:PwoXhQQ80数学意識して左下にしていたのを実用重視で改めたのでは
0402デフォルトの名無しさん (ササクッテロリ Sp3f-/ZRc)
2017/01/05(木) 15:08:20.98ID:zjhRqjNop初めて使う言語がObjCだった人も多いしswiftでも別にな
ObjCメッセージ文法が至上なのはいいけど、汎用性がねぇw
Swift Optional型なんざそれに比べれば誤差よのう
0403デフォルトの名無しさん (アウアウウー Sa3f-IW1l)
2017/01/05(木) 15:50:12.04ID:WkTIUcDja0404デフォルトの名無しさん (ブーイモ MMff-S2pU)
2017/01/05(木) 17:18:55.89ID:oFOZ2y/SM0405デフォルトの名無しさん (ワッチョイ dfc9-f1yY)
2017/01/05(木) 17:32:58.79ID:sWdRcuvD00406デフォルトの名無しさん (スップ Sdff-oQtP)
2017/01/05(木) 18:22:18.82ID:YNtiq33Odほんとこれ
0407デフォルトの名無しさん (ブーイモ MM3f-twlg)
2017/01/05(木) 20:45:21.20ID:P+GiqLXdM0408デフォルトの名無しさん (ササクッテロリ Sp3f-/ZRc)
2017/01/05(木) 20:47:15.64ID:zjhRqjNopそれはそれとして、 swiftがヤならobjcでいいじゃん、、、
どっちもイヤならアポー端末を諦めろというね
0409デフォルトの名無しさん (ワッチョイ 0f42-HvS5)
2017/01/05(木) 21:15:32.68ID:P4uSEloo00410デフォルトの名無しさん (ワッチョイ 0fba-oQtP)
2017/01/05(木) 21:58:08.24ID:jBQh1CN000411デフォルトの名無しさん (ワッチョイ 6f5b-yz8t)
2017/01/06(金) 00:00:22.89ID:bcUwFgd80初めて学ぶ言語ならObj-Cの方がCの勉強にもなるからSwiftより断然まし
SwiftはObj-C以上に排他的変態的シンタックスだから初学者には
やっぱり個人的にはお勧めできないわ
0412デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/06(金) 00:22:09.68ID:Y1Cw0qRA0そんな特殊だと感じることはないんだが
Objective-Cに比べると格段にタイプ量が減って見た目もスッキリするから
個人的にはそれだけでも大きなメリット
0413デフォルトの名無しさん (ワッチョイ 1b66-SevC)
2017/01/06(金) 00:28:39.65ID:BpurgW/q0職業プログラマ特有のこの価値観がもうゲロ出るぐらい嫌い
0414デフォルトの名無しさん (ワッチョイ dfc9-f1yY)
2017/01/06(金) 00:33:12.22ID:PzH0fr810プログラマとして勉強不足なのバレバレだぞ
0415デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/06(金) 00:33:15.56ID:Y1Cw0qRA0タイプはXcodeが補完してくれるから実質的にはそこまでの違いはないかもしれないんだが
文字を読む量が違うんだよ でそれはバグの量に直結するかんね
0416デフォルトの名無しさん (ワッチョイ 1b66-SevC)
2017/01/06(金) 00:50:24.79ID:BpurgW/q0はぁ。
あなたは一生work1にwork2から変数A1を代入してこれでバグが少ない!とほざいててください。それでいいよ
0417デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/06(金) 01:05:43.98ID:/fM3tdtK0関数型言語界隈からの価値観というか流れでは
0418デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/06(金) 01:57:40.55ID:Y1Cw0qRA0読む量が減ればバグが減るって言ってるのに増やしてどうすんねんw
0419デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/06(金) 01:58:56.36ID:Y1Cw0qRA0今でも普通に使われてる言葉なの?
0420デフォルトの名無しさん (ワッチョイ dfc9-6vgr)
2017/01/06(金) 02:18:34.24ID:EL7IyQQ80同意
0421デフォルトの名無しさん (ワッチョイ 5f93-+flj)
2017/01/06(金) 07:52:01.44ID:Q/mvZ92R0>>390
お前良い奴だな
なかなかいい学習ノウハウだ
おれRuby勉強した時は良質なxx写真がアップされているスレを解析して
スレ内のURLから写真を片っ端からダウンロードするプログラムを書いたな
そう言えば大学院の先輩に英語の速読できるようになりたいと聞いた時の回答は「Hな本読むといいです」だった
つまりエロ最強!
0422デフォルトの名無しさん (スプッッ Sdff-B9xl)
2017/01/06(金) 12:21:21.27ID:RUdDycfgdそう、冗長だと見通しが悪すぎる。
半分はライブラリ設計のせいで、残りはc言語のせいの気もするけど。
0423デフォルトの名無しさん (ワッチョイ bb10-51vH)
2017/01/06(金) 19:38:50.74ID:Gq0Nc1/d0同等のJavaのコードに比べて、単に配列から値を取り出してるだけの行も複雑な命令を実行してる行も同等に横いっぱいになるから飛ばし読みがしづらくてしっかり読む必要があった。
わけのわからない変数名や関数名をつけて短くていいよねみたいな話ではないよ。BASICとかの時代じゃないんだからさぁ。
0424デフォルトの名無しさん (ワッチョイ 2b0c-tEgc)
2017/01/07(土) 00:28:19.84ID:DNozFqRa0別ファイルで objc コード書くと見通し悪いから、Swift に局所的に objc コード埋め込めたりすると面白いかな、
C#のunsafeとか __asm {} みたいに。欲を言えば言語指定クロージャみたいな感じ
0425デフォルトの名無しさん (ワッチョイ 5f93-+flj)
2017/01/07(土) 08:53:14.57ID:4HC1Pjzk0それじゃwithout cにならないべ
0426デフォルトの名無しさん (ワッチョイ 6f5b-yz8t)
2017/01/07(土) 08:55:58.44ID:72YrLFZp00427デフォルトの名無しさん (ササクッテロリ Sp3f-L2iV)
2017/01/07(土) 08:57:56.42ID:182Vw6zJp0428デフォルトの名無しさん (ササクッテロリ Sp3f-/ZRc)
2017/01/07(土) 09:19:02.71ID:OQtShFizpなお、現在は、、、
0429デフォルトの名無しさん (ワッチョイ 6f5b-yz8t)
2017/01/07(土) 09:31:45.95ID:72YrLFZp00430デフォルトの名無しさん (アウアウウー Sa3f-yz8t)
2017/01/07(土) 09:37:34.24ID:iBRfuxUXaって思う時って例えば具体的にどういうケースなんだろ
ただ単にC言語に慣れててすぐ書けるからってことじゃないよね?
0431デフォルトの名無しさん (ササクッテロリ Sp3f-/ZRc)
2017/01/07(土) 12:02:53.35ID:OQtShFizp一応、UnsafeMutablePointerを操作するよりはCの生ポインタ操作出来る文法が楽ってのはあるけど
Swiftでポインタ操作が必要なら自前ラッパーAPIで隠蔽して上位レイヤーでは気にしなくて済むようにするよ
0432デフォルトの名無しさん (ワッチョイ 6f5b-yz8t)
2017/01/07(土) 12:17:38.95ID:72YrLFZp0Obj-Cなら何も考えずそのまま実装できたことをSwiftでやろうとした時
どうするかって話だね
without Cを高らかに謳っているのだから仕方ないね
頑張ろう
0433デフォルトの名無しさん (オッペケ Sr3f-6vgr)
2017/01/07(土) 17:26:53.31ID:UVIgJaZNrシステムコール使うときとか?
0434デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/07(土) 17:53:33.27ID:p94OVxAQ0ファイルを行単位で読んで処理しようとする時とか
CのAPI使ったほうがスッキリ書けたりするケースがあるんだよね
http://stackoverflow.com/a/24669956/1000690
0435デフォルトの名無しさん (アウアウウー Sa3f-yz8t)
2017/01/07(土) 18:02:35.45ID:hf6ybaU+aでも、それ別ファイルにCで記述して、Swiftから呼ぶようにした方がメンテナンス性あるんじゃね?
0436デフォルトの名無しさん (ササクッテロリ Sp3f-/ZRc)
2017/01/07(土) 18:34:39.92ID:OQtShFizp回答上位にある汎用クラス作って云々が良いとも思わないけども
そういうフォローをちゃんとした単純関数で実装したらCでもSwiftでも大して変わらんよな
、、、Swiftなら全データをStringに突っ込んで、改行文字でsplitとか乱暴するのも一興か
0437デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/07(土) 18:52:21.07ID:p94OVxAQ0どうだろうね?
別ファイルにしてAPIのインターフェース考えて実装してメンテナンスしていく手間をかけるだけのメリットがあるのかどうかによるよね
>>436
メモリのフットポイントを気にしないならSwiftでもそう変わらないだろうけど
気にするならNSDataとかで処理しないといけないからSwiftのほうが面倒だと思うよ
0438デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/07(土) 19:10:10.76ID:IyWm4kw10バイトストリーム、キャラクタストリーム, レキサー/パーサーに分けて繋げた方が後が楽だと思う
0439デフォルトの名無しさん (ワッチョイ 2bf8-+flj)
2017/01/07(土) 20:04:55.49ID:Gk0CJ/2J0CのAPIの方が簡単と言うのはプログラマが担保しなきゃいけない安全確認とかを全部すっ飛ばして書けるからであって
必要な安全性を確保しながらコード書くならSwiftの方が簡単だよ
0440デフォルトの名無しさん (ワッチョイ 6fa2-+flj)
2017/01/07(土) 20:37:16.77ID:w3Yo/XU60SIMD使う時とかはしょうがないよね?
そういうケースが稀なのは認める。
0441デフォルトの名無しさん (ワッチョイ dfc9-f1yY)
2017/01/07(土) 20:48:06.16ID:eRueAzeT00442デフォルトの名無しさん (アウアウウー Sa3f-yz8t)
2017/01/07(土) 20:52:00.96ID:UTTve38fa別ファイルにするにしても、同一ソース内に埋め込むにしても、データ受け渡しのためのインタフェースは考えないといけないだろ
0443デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/07(土) 21:18:40.07ID:p94OVxAQ0そういうケースもあるだろうけど例として上げたケースは
用意されてるCのAPIを使うかSwiftで自作のAPIを作るかの違い
>>442
コード見たの?
import Darwin
let bufsize = 4096
// let stdin = fdopen(STDIN_FILENO, "r") it is now predefined in Darwin
var buf = UnsafePointer<Int8>.alloc(bufsize)
while fgets(buf, Int32(bufsize-1), stdin) {
print(String.fromCString(CString(buf)))
}
buf.destroy()
0444デフォルトの名無しさん (スププ Sdff-+flj)
2017/01/07(土) 21:48:31.26ID:A7PZcJW4d>用意されてるCのAPIを使うかSwiftで自作のAPIを作るかの違い
そこに「用意されているSwiftのAPIを使う」と言う選択肢がないのがおかしくないかい?
SwiftならファイルパスでStringを初期化してenumrateLinesするだけでいいから
CのAPIでゴチャゴチャ作るよりはるかに簡単で安全だよ?
例えばあなたが>>443の下部で引用しているCの関数を使った例では
バッファサイズとして4096を取っているから
一行が4095文字以上の入力を受けると正しく動作しなくなっちゃうよ
この制限をC言語で解決するのは結構面倒くさいよ
0445デフォルトの名無しさん (アウアウウー Sa3f-yz8t)
2017/01/07(土) 21:49:05.59ID:UTTve38faコード見たよ
で?
0446デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/07(土) 21:55:01.67ID:p94OVxAQ0>SwiftならファイルパスでStringを初期化してenumrateLinesするだけでいいから
それメモリに全部読み込んでるでしょ?
極端な例だけど300MBのファイルだとして全部最初にString化するの?
0447デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/07(土) 21:55:42.79ID:p94OVxAQ0見てて>>442みたいな考えなら特に言うことはない
0448デフォルトの名無しさん (スプッッ Sdff-GcKO)
2017/01/07(土) 22:12:08.42ID:DTtrdLJ+d「ファイルを行単位で読んで処理しようとする時とか」の「とか」は、「ファイルを行単位で読んで処理しようとする時」以外の何?
>>439
「プログラマが担保しなきゃいけない安全確認とか」の「とか」は、「プログラマが担保しなきゃいけない安全確認」以外の何?
そんな「とか」の使い方じゃ、まともな仕様は作製できない。
0449デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/07(土) 22:21:44.29ID:IyWm4kw10http://swiftlang.ng.bluemix.net/#/repl/5870e7500f558d57abf31839
・セル内の改行に対応
・パイプライン的に処理(バッファ境界でUTF8が破断することも無し)
・改行コードはちょっと端折り
0450デフォルトの名無しさん (ワッチョイ 5f93-+flj)
2017/01/07(土) 23:25:32.71ID:4HC1Pjzk0残念ながらこれは仕様書ではない
安全確認以外の何かを明確にするにはまず安全とは何かを定義しなければならないが
それを定義にするのは本来の議論の範囲外であり、
議論の本質の理解の妨げになるためあえて定義を行わなかった
そこで、明確に定義されていないことを明確に示すために「とか」を用いている
そう言うことを聞きたいわけ???
0451デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/07(土) 23:32:17.40ID:p94OVxAQ0超できる子だな
Swiftのシーケンスって読み終わったところからメモリ開放されるのかな?
そうじゃなければ別途chunkに分割しないと全処理時は最終的にメモリに乗るよね
0452デフォルトの名無しさん (ササクッテロリ Sp3f-/ZRc)
2017/01/07(土) 23:54:15.55ID:PPvI4deGp0453デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/07(土) 23:55:36.10ID:IyWm4kw10Iteratorのクロージャが強参照してるもの以外は順次開放されるよ
UTF8デコーダと内部バッファ(4バイト?)、字句解析用の変数(end,hold)、
1レコード分(row:[String])がメモリ消費する
Array(parseCsv(...))すると全部抱えてしまうのでforEachで1レコードずつ処理する必要はある
0454デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/08(日) 00:11:05.12ID:JrkgmnK40http://swiftlang.ng.bluemix.net/#/repl/587104360f558d57abf31847
0455デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/08(日) 00:46:34.89ID:9hp7bz6e0そっかありがとう
>>454
すげーな 超参考になる
ファイル読み込みはchunkでやるけどあとはバイトストリームで処理できるから境界の心配しなくていいのね
こういうシーケンス使った考え方を知るのになんかオススメの本とか資料とかもしあったら教えて
Swiftじゃなくてもいいので
0456デフォルトの名無しさん (ワッチョイ 6f5b-yz8t)
2017/01/08(日) 09:45:34.32ID:qkk6ZrX+00457デフォルトの名無しさん (ワッチョイ 5b3c-HvS5)
2017/01/08(日) 10:12:37.73ID:JrkgmnK40今ググって見つけたページではあるけど、こういうから知識を拾っておくと良いかも
http://hexadrive.jp/hexablog/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/12405/
http://ufcpp.net/study/csharp/da_about.html
http://postd.cc/pipes-and-filters/
の前半あたり
http://www.aerith.net/design/Decorator-j.html
切り分け方は先人に学ぶ感じで
http://kmaebashi.com/programmer/devlang/yacclex.html
https://msdn.microsoft.com/ja-jp/library/cc351995.aspx
用語バラバラだから似てるもので並べると
Swift3のSequence(2のSequenceType) ≒ AnyIteratorを返す関数
≒ JavaのIterable ≒ Pythonのジェネレータ ≒ C#のイテレータブロック/IEnumerable
Swift3のIteratorProtocol(2のGeneratorType) ≒ AnyIterator
≒ JavaのIterator ≒ Pythonのイテレータ ≒ C#のIEnumerator
※AnySquence, AnyIteratorはジェネリクス対応用(型消去法)
0458デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/08(日) 17:36:54.12ID:9hp7bz6e0ありがとう
心のなかでマスター先生と呼ばせてもらうよ
素養が違うからか教えてもらった記事からだとマスター先生の考え方に近づけそうにないんだが
もう少し頭のなかをストリーム化できるように日々修行するわ
0459デフォルトの名無しさん (ワッチョイ df3c-FtWv)
2017/01/08(日) 17:40:12.38ID:9hp7bz6e0関数の戻り値の型
func greet(person: String) -> String {…}
↑Stringを返す関数
■ このスレッドは過去ログ倉庫に格納されています