X



Swift part10 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b3c-eq+O)
垢版 |
2017/02/20(月) 10:00:13.40ID:ChbPWtRt0
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

プログラミング言語Swift Part4
http://potato.2ch.net/test/read.cgi/mac/1484763495/

[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1484217623/

Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/

Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/

前スレ
Swift part9
http://echo.2ch.net/test/read.cgi/tech/1476758084/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0103デフォルトの名無しさん (ワッチョイ db5b-0QZk)
垢版 |
2017/03/05(日) 12:28:46.65ID:BaPS9EAx0
>>99
素晴らしい!

import Foundation
var a = NSNumber(value: 1)
var b = NSNumber(value: 2)

var ar = NSMutableArray()
ar.add(a)//, b])//(array: [a, b])
ar.add(b)//, b])//(array: [a, b])
a = 3
print(ar)
print(a)
NSNumber使えばできるのか?と思いきや、失敗!
0105デフォルトの名無しさん (ササクッテロラ Spef-NRhz)
垢版 |
2017/03/05(日) 13:55:13.01ID:Awv6PdXpp
UnsafePointer周りの公開IFは2.0から3.0までですら二転三転したから信用して使わない方が良いぞ、多分また変わる
Xcodeの自動コンバートでサポートしきれない変更だったから毎度手間だった

その覚悟をもって遊ぶなら楽しいオモチャではある
すごく日曜プログラマ向け
0112デフォルトの名無しさん (ワッチョイ dbc9-zofg)
垢版 |
2017/03/05(日) 23:02:32.93ID:nindsAFW0
>>110
マイナンバーにみえた
0113デフォルトの名無しさん (スプッッ Sd3f-n2KM)
垢版 |
2017/03/06(月) 12:37:12.05ID:VBrHzi13d
>>96
名前でのアクセスとインデックスでのアクセスを両立したいってことかな?
俺だったら、名前→インデックスの辞書を持つ専用のクラスを作る
0116デフォルトの名無しさん (ワッチョイ 0f2b-BKUO)
垢版 |
2017/03/08(水) 00:45:04.17ID:6Gp+/qzY0
2.0, 2.1くらいまではまだswiftが業務に利用できると騙された奴がいたけど、さすがにもう居ないから...
こんな不安定な言語とランタイム、信仰心/遊び心以外で使うのは無理だよ
5になってAPI, ABIが安定したら再燃することを祈ってる

>>115
swift
他の信仰言語は文法,API,ABI他諸々が下位互換を保証するフェーズにまで枯れて冷めてる
0121デフォルトの名無しさん (ワッチョイ 1f3c-LOQs)
垢版 |
2017/03/08(水) 10:45:59.40ID:mMaqGsPC0
ブームは確かに去り始めてる気はする。
けど言語はまったく枯れ初めていないっていう現実。

ところで今年のtryswiftはどうだったの?
相変わらずswiftと関係ない話題ばかりだった?
0122デフォルトの名無しさん (ワッチョイ dbc9-pTz+)
垢版 |
2017/03/08(水) 10:50:21.01ID:3oZRIdEd0
>>115
JavaScript 2017
0125デフォルトの名無しさん (ワッチョイ dbc9-pTz+)
垢版 |
2017/03/08(水) 14:52:44.76ID:3oZRIdEd0
RxSwift3.20に付属のPlayground重すぎ。特にCombining_Operatorsが。
マシンパワーが不足なのか?特にCPU Power。メモリ搭載量(16GB)には問題無いみたいだが、IvyBridge世代のcore i5 2coreには辛いのか?

同じ感想の人入れば、レスお願いします。
0126デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/09(木) 11:26:23.15ID:pYIrqD7n0
RxSwift3.2.0を動かしてます。SubjectはObservableかつObserverだと言うので
次のコードをiOSアプリ内で動かしてみました。
import RxSwift
let sb = BehaviorSubject(value: 100)
let v = Variable(2000)
_ = v.asObservable().bindTo(sb)
print(v.value)
_ = sb.subscribe{print($0)}

// 2000
// next(2000)

このコードがPlaygroundで動きません。ObservableはbindToメソッドなんて
持ってないよ!と怒られます。どうやれば、Playgroundで動かせますか?
0127デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/09(木) 11:27:22.08ID:pYIrqD7n0
ちなみにmacOSアプリ内でも動きました。
Playground内だけで動きません。ウェーン!
0129デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/09(木) 12:43:29.12ID:pYIrqD7n0
>>128
まじっすか?
Playground execution failed: error: MyPlayground2.playground:1:8: error: no such module 'RxCocoa'
import RxCocoa

当方では、moduleを見つけてくれないです。
0130デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/09(木) 12:52:23.68ID:pYIrqD7n0
もしやRxCocoaをbuildしないといけないのか?もう一回!
0131デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/09(木) 12:54:49.62ID:pYIrqD7n0
みなさん、あんがと!
bindToが動きました。
no such module when openning playground
でヒットしました。
0132デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/09(木) 16:25:15.49ID:pYIrqD7n0
RxCocoa-iOSのbuild時間 46.837sec
でした。
結構、時間かかります。
0134デフォルトの名無しさん (ワッチョイ f35b-aox5)
垢版 |
2017/03/12(日) 14:39:16.17ID:uNivVhq+0
>>133
Java, C++には遠く及ばないんだよねぇ。
おれ、Java嫌いなんだよねぇ。けど、TIOBE Programmer’s Indexでは1stなんだよねぇ。
0138デフォルトの名無しさん (ワッチョイ fbce-WjpG)
垢版 |
2017/03/12(日) 16:44:20.65ID:8TfkE0k40
なぜSwiftを使うのか
それはApple様御用達だからである
つまり超絶至高言語であることが生まれながらにして確定している言語
後光なんかも射しちゃってるレベル
0142デフォルトの名無しさん (ワッチョイ f35b-aox5)
垢版 |
2017/03/12(日) 19:52:14.06ID:uNivVhq+0
俺にとってはSwiftはRubyの皮を被ったC++
Generics標準ライブラリが充実してるのがGood。
文字列Stringが最初から標準ライブラリに入ってるのもoK.
0144デフォルトの名無しさん (ワッチョイ f35b-aox5)
垢版 |
2017/03/12(日) 20:48:02.02ID:uNivVhq+0
>>143
言い方悪かった。
文字列の扱いがStringに統一されているのが良さげ。

参考:Visual C++
char 型のナロー文字リテラル。たとえば 'a'
wchar_t 型のワイド文字リテラル。たとえば L'a'
char16_t 型のワイド文字リテラル。たとえば u'a'
char32_t 型のワイド文字リテラル。たとえば U'a'

もう、ワケワカメ!
このほかにもCStringとStd::Stringもある。
0145デフォルトの名無しさん (ワッチョイ f73c-K8Mp)
垢版 |
2017/03/12(日) 21:04:17.82ID:ejYR6n6Q0
>>143
C言語
0152デフォルトの名無しさん (ワッチョイ 0719-9O7/)
垢版 |
2017/03/13(月) 08:37:47.51ID:W+gruSmy0
collection.map { ..... } 
の書き方は
collection map {....}.
ってかくsmalltalkの書き方の真似だよ。
rubyでは{...}がオブジェクトじゃないからこうするんだけど
swiftは{...}がオブジェクトだけど関数の()が省略できないから
という理由でこうするのだろうね。
0155デフォルトの名無しさん (ブーイモ MM92-4Oo7)
垢版 |
2017/03/13(月) 16:20:02.25ID:VusjWGEdM
>>152
それ単にブロックを受け取るキーワードメッセージを一番最後に持ってきてるだけでしょ。
ブロック引数を特別扱いして不完全だけど有用な文法を作り出したrubyが真似たと言うにはちょっと…
0156デフォルトの名無しさん (ワッチョイ d2ed-lBbp)
垢版 |
2017/03/13(月) 20:11:52.15ID:hyVcDS3T0
>>152
Swift や Ruby のメソッド map に相当する
Smalltalk のメッセージは collect だよん

まとめよう
[Swift]
・collection.map({ ..... })  // 一般的(常識的?)な書き方
・collection.map() { ..... }  // クロージャを引数リストの直後へ移動できる
・collection.map { ..... }  // さらには丸カッコ () も省略できる
[Ruby]
・collection.map(lambda { ..... })  # Ruby だと一般的ではない
・collection.map() { ..... }  # ブロックを引数リストの直後へ移動できる(ブロック付きメソッド呼び出し)
・collection.map { ..... }  # さらには丸カッコ () も省略できる(これが普通の Ruby らしい書き方)
[Smalltalk]
・collection collect: [ ..... ]  "書き方はこれだけ"

たったこれだけで Swift の Tailing Closure は「smalltalkの書き方の真似」って言い切っちゃう>>152さんて素敵(棒
0157デフォルトの名無しさん (ササクッテロリ Sp57-O+kf)
垢版 |
2017/03/13(月) 20:27:44.22ID:OdMsjmQCp
よくわかんないけど
だからSmalltalk系譜のObjCは最高!Swiftはクソ!!
っていう荒らしの流れでおk?

swiftがperlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrustとetc....に似てるって
swift betaが出た当初から言われてたのに「SwiftはRubyの皮を被ったC++ 」とかヘソで茶が沸くよね
あっちこっちの言語から文法パクってるのに自分が知ってるRubyだけしか注目できてないだけじゃねーかw
0158デフォルトの名無しさん (ワッチョイ 0719-9O7/)
垢版 |
2017/03/13(月) 21:02:12.46ID:W+gruSmy0
rubyの言いたいことはメソッドの定義をメソッドの使用する形で書けるようにするって
事で、
smalltalkの言いたいのはオブジェクトの定義をオブジェクトにメッセージを送る形で
書きたかったということだから発想は同じ。
例えばC言語だと定義はint f(){}の形だけど使うのはf()の形だから同じじゃないからね。
0159デフォルトの名無しさん (ワッチョイ d2ed-lBbp)
垢版 |
2017/03/13(月) 21:41:18.89ID:hyVcDS3T0
>>157
せっかくSwift と似ている言語として「perlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrust」を
挙げてくれたのだから、各言語ユーザが自分の知っている言語に注目して、似ている所をカキコすれば
いいのではないかと思われ

たとえば、もし仮に Swift で内包表記が採用されていたなら、
「Swift は Pythonから内包表記をパクった」と主張できるよね

あるいは「Swift の Tailing Closure と似ている言語は XXX がある(Ruby だけじゃない)」といふ
意見が出てくれれば嬉しい限りですねえ
0165デフォルトの名無しさん (ワッチョイ f73c-jJqA)
垢版 |
2017/03/14(火) 16:49:31.85ID:+ZD30cPg0
他の言語の影響受けてるのは明言してるんだし
パクッてオリジナル主張してるわけじゃないから何に似てようが別に良くね

話の発端っぽい>>142も「俺にとっては」とあるから
単に当人が知ってる範囲内での感想だろう
0166デフォルトの名無しさん (ワッチョイ 97bd-O+kf)
垢版 |
2017/03/15(水) 04:07:35.03ID:Z1jXyE+K0
別に良いよ、Swiftの世間話として談笑してるだけだよー

SwiftはPythonから関数引数の順不同指定可をパクった
・・・が2.xのいつぞやのタイミングで仕様ドロップと相成って悲しい
確かにSwiftで使うメリット少なくて利用者いなかったかもしれんけど、わざわざ実装したのに勿体ない
0168デフォルトの名無しさん (アウアウウー Sa93-j8zu)
垢版 |
2017/03/15(水) 11:14:37.72ID:qed+p8OGa
>>166
名前付き引数の順不同化はSmalltalkのメッセージ式を見たら誰でも最初に思いつくアイデアだけど
似たようなObjective-Cのやり方を内部的に引きずっていたらきっと難しいだろうね
ちょっと試すくらいなら簡単だけど、すぐに破綻をきたす
0169デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/15(水) 13:53:38.07ID:62YvBKwJ0
>>165
話の発端「Rubyの皮」、の発言人です。

Pascal, Clang, Fortran, Lisp, Ruby, Visual Basic, C++を触ってきた経験からの
感想です。Rubyの皮を被ったC++ってのは。

Swiftはいろんな言語の影響を受けてる事が判りました。

今はJavaScriptを触りたいけど、時間が無い。
0171デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/15(水) 14:33:46.75ID:62YvBKwJ0
>>170
なぜでしょう?
0174デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/15(水) 14:58:49.09ID:62YvBKwJ0
>>173
では、その大御所は現代のプログラミング言語にどの様な、影響を与えているのでしょうか?
0177デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
垢版 |
2017/03/15(水) 17:00:38.28ID:62YvBKwJ0
>>176
まあまぁ、そんな過激な事言わずに!
ってか、ボキャ貧すぎる。
0179デフォルトの名無しさん (スッップ Sd92-K8Mp)
垢版 |
2017/03/15(水) 18:31:39.28ID:tAf0WVvBd
C言語系やっていてK&Rを知らないってどういう事?
0182デフォルトの名無しさん (スッップ Sd92-K8Mp)
垢版 |
2017/03/15(水) 21:02:45.81ID:tAf0WVvBd
>>180
基礎の基礎だと
0193デフォルトの名無しさん (スフッ Sddf-CJUg)
垢版 |
2017/03/16(木) 12:31:27.45ID:0Zav/vrEd
コンパイラなんてそんなもんだよ
ソースが同じでもテキストフォーマット変わればコンパイル通らないし
同じ言語でも世代が違えばコンパイル出来なかったり動作が変わったりする
0194デフォルトの名無しさん (ワッチョイ 03c9-JN/B)
垢版 |
2017/03/16(木) 12:36:14.54ID:68bWV4sz0
>>193
Ruby1.8, 1.9しか知らんのだけど、今時の2.4ってのは全然動作が違うのかね?
osx El CapにはRuby2.0搭載なので、極タマに使ってみて、あんまり変化の無い
事に安心してるんだが。
0195デフォルトの名無しさん (スップ Sddf-8YZg)
垢版 |
2017/03/16(木) 12:40:19.13ID:fylU8k5ad
>>191
「日本語でおkとか」の「とか」は、「日本語でおk」以外の何?
0196デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
垢版 |
2017/03/16(木) 12:53:53.08ID:bRh67wE3a
とか
1.
《副助》例をあげて並べるのに使う。 「A―B―の記号」
2.
《普通は下に「言う」「聞く」などを伴って》 《連語》内容が不確かであることを表す。 「橋沢―いう人」


>>191の場合は、「2.」の用例だろ
つまり、
「日本語でおk」だったか、「日本語でOK」だったか、「日本語でおっけー」だったか不確かだけど、そんな風な言い方
ってこと
0197デフォルトの名無しさん (スップ Sddf-8YZg)
垢版 |
2017/03/16(木) 13:04:00.85ID:fylU8k5ad
>>196
内容が不確かな事を書かれても、不確かなのだから、何を書きたいのか解らないよ。
0200デフォルトの名無しさん (スププ Sddf-CJUg)
垢版 |
2017/03/17(金) 09:04:36.10ID:CVisIQCrd
>>199
この人はこのスレに住み着いて「とか」だけに反応する可哀想な人だから
みんなでとかとか使いまくってもっと可哀想にしてやろうよ(いじめの提案)

>>197
不確かであることを明示して話を進めることはよくある事だよ
主に明確化に意味が無い、あるいは主題を明確にするために枝葉部分を意図的に明確定義しない、などの用法がある
■ このスレッドは過去ログ倉庫に格納されています

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