Swift part10at TECH
Swift part10 - 暇つぶし2ch631:デフォルトの名無しさん
17/05/18 15:59:16.23 xh1cvqBY0.net
Swiftにならなかった、ということだろう

Google、SwiftをAndroidの第一級言語にすることを検討?
URLリンク(www.excite.co.jp)

632:デフォルトの名無しさん
17/05/18 16:19:36.22 rvD/i38o0.net
>>610
Visual StudioがC#で?
あの遅い言語のC#で?

それは本当か?

633:デフォルトの名無しさん
17/05/18 16:24:16.64 rvD/i38o0.net
>>609
>Kotlin

こいつが気にくわないのが、val, varなんだよねぇ。定数、変数の違いを記述する方法が。

let, varにしてもらわんと、目がチカチカするわぁ。

634:デフォルトの名無しさん
17/05/18 16:25:14.83 rvD/i38o0.net
swift -> kotlinコンバーターとか作れるのかなぁ?

635:デフォルトの名無しさん
17/05/18 16:32:06.75 fOFaQvk5p.net
SwiftはLLVMでコンパイルするんだからJVM向けバイナリ吐けばいいだけでしょ
なんでKotlinを挟む必要があるのか、それがワカラナイ(色んな意味でスットボケ

636:デフォルトの名無しさん
17/05/18 16:33:43.40 rvD/i38o0.net
>>615
>swift -> kotlin
URLリンク(qiita.com)

あまりに似ているので、かえって混乱するかも

637:デフォルトの名無しさん
17/05/19 20:58:58.36 RywFaTWpd.net
swiftでiOS勉強したいのですが、参考になるOSSのアプリとか無いでしょうか
ドキュメントから入るより出来の良いコードを見たい派です

638:デフォルトの名無しさん
17/05/19 21:13:02.47 lzW4mJ600.net
GitHubにいっぱいあるだろ

639:デフォルトの名無しさん
17/05/20 13:02:32.18 wa2Zpry6M.net
>>614
同意

640:デフォルトの名無しさん
17/05/20 14:50:47.85 tp08styd0.net
Kotlinのval,varはScala先輩に倣ったものだから仕方ない

641:デフォルトの名無しさん
17/05/21 00:39:31.16 gwfvvdvz0.net
swift はそろそろ安定期に入ってもいいと思うんだ

642:デフォルトの名無しさん
17/05/21 09:35:27.70 PKguD9Ia0.net
>>622
bugレポ、沢山上がってるが、これはどうする?

643:デフォルトの名無しさん
17/05/21 11:11:35.71 xz6V7we20.net
バグレポを出す時にプルリクをセットにすれば安定はすぐだ

644:デフォルトの名無しさん
17/05/21 11:13:42.65 Wx20c4Ig0.net
>>622
無理無理

645:デフォルトの名無しさん
17/05/22 09:20:46.59 QM6p1JyG0.net
>>622
bugレポ、新機能追加requestともに増えている状況だから
安定なんて、無理じゃね?

646:デフォルトの名無しさん
17/05/22 09:23:11.36 QM6p1JyG0.net
Swift4 betaをinstallした後、Xcode8.3.2で切り替えながら使うqiita記事を見失った。

なんと言うタイトルだったか?どんなtagでqiitaを検索すればhitするのか?
教えてクレェ?

647:デフォルトの名無しさん
17/05/22 10:13:24.24 np8fDJ8H0.net
Xcode用のsnapshotはインストーラ形式だしダウンロードしてインストールしてXcodeのtoolchainで切り替えるだけの簡単操作やろ

Xcodeでの切り替えはXcode>Toolchainsか環境設定>Components>Toolchains

Terminalでの切り替えは
毎回頭にxcrun -toolchain swiftとつけて
xcrun -toolchain swift swift -version
とするか
export TOOLCHAINS=swift
すればいい

インストールされる実体は
/Library/Developer/Toolchains/xxx.xctoolchain
にある
.xctoolchain内のInfo.plistにあるCFBundleIdentifierをtoolchainの引数に指定すれば、複数のSnapshotをインストールしてても細かく切り替えられる
xcrun --toolchain org.swift.3020170515a swift -version
とか

去年はPlaygroundsがToolchainに対応してなかったけど今年は対応済みのようなのでPlaygroundsで色々試せていい
URLリンク(github.com)

648:デフォルトの名無しさん
17/05/22 10:14:58.82 WxrTRTpJp.net
xcrun selectとか(定期待ち)

649:デフォルトの名無しさん
17/05/22 10:47:13.23 QM6p1JyG0.net
>>628
ありがとう。
超THX

650:デフォルトの名無しさん
17/05/23 10:52:51.90 3fZmvxNt0.net
Swift歴2年、アプリリリース経験無しの非IT系リーマンです。Generics protocolとか難しいなぁと思いながら、RxSwiftのコードを解読してます。

Fortran, C++のコードを書いて金をもらった事があります。C#, Java, Obj-Cもチョコっといじった事があります。

Swift, C#, Java, C++の4つの内、どれが一番難しいと思います?

651:デフォルトの名無しさん
17/05/23 11:07:24.17 nyMT4OHb0.net
難しさでいったら、C++ 一択やろなぁ

652:デフォルトの名無しさん
17/05/23 11:12:58.06 3W0XlzKra.net
圧倒的にC++。



653:でもMFCには玄人っぽさへの憧れはあるけど、MFCの本は最盛期に比べて大分減ったなぁ。。。 JavaやC#してから(特にC#のがC++に近いけど分からなくなる一歩手前まで取り入れてるからオススメ)、C++行くと理解が進むね。



654:デフォルトの名無しさん
17/05/23 11:52:49.93 3fZmvxNt0.net
AppleのReferenceで混乱してる記述を発見

1. メタ・タイプを戻すグローバル関数type(of:)の説明には、戻り値がMetatypeとある。
2. メタ・タイプを引数にとるUITableViewCell.registerの説明には、引数がAnyClassとある。
どっちかに記述を統一してほしい。

655:デフォルトの名無しさん
17/05/23 13:01:08.53 IPskfFz70.net
Metatypeはstructやenumも含めた型でAnyClassはclassだけじゃない

656:デフォルトの名無しさん
17/05/23 13:07:30.75 3fZmvxNt0.net
>>635
なるほどぉ

657:デフォルトの名無しさん
17/05/23 13:46:30.45 3fZmvxNt0.net
>>633
Visual Studio6の頃までしか、MFCは知らんけど、
Microsoftは、MFCを放置してるんちゃうの?

同時に、C++11, C++14って進化してるのに、Micorsoft C++はこれも独自仕様
で放置されてる、ちゅうのが俺の印象なんすけど、違うんでしょうか?

最近のMicrosoft系開発環境に疎いので間違ってたら申し訳ないすけど。

658:デフォルトの名無しさん
17/05/23 14:21:59.30 ka9VvDM30.net
>>634
違いは>>635(AnyClassはclassだけ)であってるけど
補足するとMetatypeという識別子の型は無い
あれは単なるジェネリクスのプレースホルダ名

実際のメタタイプの型は「(型名).Type」でAny.Type型にも入れられる
AnyClassは「AnyObject.Type」のエイリアスでclassのメタタイプのみ入る

ちなみにメタタイプの値自体はclass型でないのでメタタイプのメタタイプはAnyClassに入らない
class A{}
let a:AnyClass = A.self //OK
let b:AnyClass = A.Type.self //NG
let c:Any.Type = A.Type.self //OK

659:デフォルトの名無しさん
17/05/23 17:12:29.92 3fZmvxNt0.net
/var/folders/4x/4kvmnvfd46zdv9xt45wf2kx00000gn/T/
vzb3TAU/1:20:19: warning: operator should no longer be declared with body
infix operator ^^ { }
~^~~

SwiftコンパイラーをTerminal.appで動かすと上記の様なwarningが出ます。
エラーの内容は^^演算子が定義されていません。って事だんですけど。これは、置いておいて、
1:20:19は何を表わしてるのでしょうか?20行目19カラムって事は判ったのですが、1は何でしょう?
1番目のソースって事なんでしょうか?

660:デフォルトの名無しさん
17/05/23 18:36:11.48 PJIONmxya.net
>>637
リボンUIはMFCらしいってのまでは追ってたんで、今も地味に進化してると思うけど、おいらも分からん。

あの機能は何の為かとか分かるようになったけど、結局C++触らなくなった。
再入門しようにも入門書の少なさよ。。。

661:デフォルトの名無しさん
17/05/23 19:14:39.26 1Q8iu32F0.net
ビルドキャッシュとして
/var/folders/4x/4kvmnvfd46zdv9xt45wf2kx00000gn/T/vzb3TAU/1
ってファイルがあるんじゃないの
一時的に作られてすぐ削除されるかもしれんから存在確認できるか知らんけど

662:デフォルトの名無しさん
17/05/24 01:14:07.99 9HF6LZlN0.net
そもそもwindowsのアプリ開発でMFC使う事情って保守以外に何あるの?

663:デフォルトの名無しさん
17/05/24 07:14:18.79 6yksy5B10.net
このスレチの話題の結末が

MFCがmacOSで使える、そうSwiftならね

だったら感動する

664:デフォルトの名無しさん
17/05/24 10:39:54.11 2xFOJ35Oa.net
感動はするけど、真っ平御免だなw

665:デフォルトの名無しさん
17/05/24 10:40:45.91 2xFOJ35Oa.net
>>642
怖いもの見たさで再挑戦したいだけ。
スレチだし気にしないで。

666:デフォルトの名無しさん
17/05/24 10:44:09.55 vuqBov/y0.net
>>642
動作の軽いアプリが作れる。
.netアプリは動作がモッサリ

667:デフォルトの名無しさん
17/05/24 11:45:23.69 4nncZNTTH.net
MFCはクラスライブラリとは言ってるけどただのモジュールだからなω

668:デフォルトの名無しさん
17/05/24 12:03:02.42 2l4fECtb0.net
KFCはファーストフードとは言ってるけどただのフライドチキンだからなω

669:デフォルトの名無しさん
17/05/24 12:10:44.50 4nncZNTTH.net
KFC高いよね

670:デフォルトの名無しさん
17/05/24 12:40:42.62 QzCZ6xD4a.net
あとポケトも不味いよね

671:デフォルトの名無しさん
17/05/24 12:43:35.78 5Ui6S+Mpp.net
macもファストフードって言ってるけどハンバーガーなんだよな...

672:デフォルトの名無しさん
17/05/24 15:21:05.18 9HF6LZlN0.net
もうkotlinでいいんじゃね。大体同じだし。

673:デフォルトの名無しさん
17/05/24 15:27:20.63 yyV+KPjA0.net
Kotlinの方が名前が可愛いな

674:デフォルトの名無しさん
17/05/24 15:39:03.23 EADXj+S1M.net
バカッターの次はマスト鈍かよ
Swiftはコンパイル必要とかスクリプト言語だとかクッソデタラメばかり撒き散らしてやがる
Swiftはスクリプト言語のようにJIT実行もできるし事前コンパイルして動作することもできるっちゅーねん
よくわかってないからと言って既存のカテゴリに当てはめようとするからおかしくなるんだ。黙ってればいいのに。
twitterもマストドンもバカに絡まれたくないから間違ってても誰も訂正してくれないてことはもうそろそろ理解しないといけないだろうに

675:デフォルトの名無しさん
17/05/24 15:43:46.34 820zba2j0.net
つまりkotlin統一でいいね?

676:デフォルトの名無しさん
17/05/24 16:16:47.79 vuqBov/y0.net
kotlinのvar, valが嫌いだ。
var, letにしてくれ!

677:デフォルトの名無しさん
17/05/24 17:53:01.63 IPRnvfLw0.net
じゃあvar, letにした新言語Kotiftで

678:デフォルトの名無しさん
17/05/24 18:40:00.41 fS2T0Ehba.net
>>647
そうそう。
macで使えるようになって嬉しいとしたらDelphiのVCL。
C#の中の人(Delphiの生みの親)をMSから引き抜けw

679:デフォルトの名無しさん
17/05/25 08:20:49.95 STB2bQ410.net
>>658
VCLって使った事ない。
けど、噂には聞いている。

最近のDelphiではiOSアプリ作れるのか?

680:デフォルトの名無しさん
17/05/25 08:39:03.16 STB2bQ410.net
RAD StudioってのでiOSアプリ作れるみたい。

681:デフォルトの名無しさん
17/05/25 09:04:58.00 STB2bQ410.net
URLリンク(qiita.com)

682:デフォルトの名無しさん
17/05/25 09:55:30.40 pDlob0Fd0.net
>>661
ブラクラ

683:デフォルトの名無しさん
17/05/25 10:26:57.11 nE79I92lH.net
ブラクラではないが特に読む意味もなかった

684:デフォルトの名無しさん
17/05/25 10:35:05.59 jD8c7u6va.net
>>659
.netがVCLに似てる。
ネイティヴ版.netって感じだよ。
言語がC++かObjectPascalってだけで。

.netのForms使えるならVCLも違和感無く使える。

685:デフォルトの名無しさん
17/05/25 11:18:46.81 STB2bQ410.net
>>664
なるほど!VCL良いじゃん。

Common Language RuntimeとかいうInterpreter無しに.netモドキが動くなんて。

686:デフォルトの名無しさん
17/05/25 12:08:23.03 ETNdktOYd.net
>>662
ブラクラとは、どういう意味ですか。

687:デフォルトの名無しさん
17/05/25 12:36:36.05 pDlob0Fd0.net
>>666
ブラクラとは、どういう意味ですか。とは、どういう意味ですか?

688:デフォルトの名無しさん
17/05/25 12:53:08.46 STB2bQ410.net
>>667
お前、相当、捻くれ者!

689:デフォルトの名無しさん
17/05/25 13:09:18.12 pDlob0Fd0.net
>>668
ありがとー

690:デフォルトの名無しさん
17/05/25 13:38:00.17 A2RaX9kE0.net
完全にスレチな話題延々してるのとどっちもどっち

691:デフォルトの名無しさん
17/05/25 16:35:11.41 trjr6FJ


692:g0.net



693:デフォルトの名無しさん
17/05/25 17:14:53.66 pDlob0Fd0.net
どこに
>Copy On Writeで最適化する場合にはprotocolやclassでラップせよ
とか書いてあんだよ

>Copy On Writeって関数引数に単純なstruct型を渡した時の値渡しには適用されないって認識であってる?
んなわけねーだろ

694:デフォルトの名無しさん
17/05/25 17:36:25.00 trjr6FJg0.net
あ、すまん、Advice:の節を注視して前の節を飛ばしてた
> When we copy values (the effect of assignment, initialization, and argument passing) the program will create a new copy of the value.
値渡しはコピーするってしっかり書いてあったわ

695:デフォルトの名無しさん
17/05/25 17:42:45.12 A2RaX9kE0.net
structは常にコピー
このstructはcopy on writeです、という場合も便宜上そう言ってるだけで、実際は中の参照型のストレージをcopy on writeしてるんであってstruct自体は常にコピー
ただしin-out引数だけは例外的にstructでも参照渡しになる場合がある

696:デフォルトの名無しさん
17/05/25 17:46:16.79 pDlob0Fd0.net
copy on writeだから、コビーの必要性が生じた時にコピーが発生するんだろ
structであっても参照するだけならコピーはしない(はず)

697:デフォルトの名無しさん
17/05/25 17:59:30.69 trjr6FJg0.net
>>674
だよなー、昔もSwiftはCOWで処理するからコピーするわけない!!みたいな奴がいて
ずっと首を捻ってたから、このドキュメントで裏付け取れて良かったわ

>>672, 675
お前はフィーリングだけで物を言わず、COWの実装を学べ

あと>>671でprotocolでラップとか言ったけど意味ないな
protocolはI/F切るだけのものだから、class/structで差をつけないと参照/値渡しには影響ないわ

698:デフォルトの名無しさん
17/05/25 18:01:40.91 trjr6FJg0.net
structの参照渡しのためのin-out parameter(inout)は使いたくないと思った
それするなら、最初からclassでAPIを設計しろというね

699:デフォルトの名無しさん
17/05/25 18:02:56.87 pDlob0Fd0.net
>>676
常にコピーなら、コピーオンライトとは呼べないな

700:デフォルトの名無しさん
17/05/25 18:12:33.09 pDlob0Fd0.net
>>677
inoutを指定しなくないから、クラスにするって考え方がそもそもおかしい

701:デフォルトの名無しさん
17/05/25 18:31:58.93 ud72tGp9d.net
>>678
メモリ操作としてのコピーと、変数への代入時の複製を混同すると、そういう訳のわからない議論になるね
structはコピーオンライトと言っても、osやハードウェアのレイヤーになるとclassであっても必要に応じてコピー(と消去を組み合わせた移動)を行ってるんだけどね。
swiftのレイヤーでは、常にコピーされるって言って良いんじゃないかな
コピーの為に支払うコストがいつ払うことになるか、そもそも払う必要が生じるのか、っていう部分にコピーオンライトの概念が関係してくるだけなんだから

702:デフォルトの名無しさん
17/05/25 18:40:08.35 pDlob0Fd0.net
>>680
ごちゃごちゃした理論は言語設計者の領域の話で
プラグラマ視点でのコピーオンライトという文脈では書き換え時にコピー(コスト)が発生するという単純な理解で特に問題ないだろ
じゃないと、Structは常にコピーが発生するからデータの粒度をなるべく小さくして関数への引数渡しも注意しないととか余計な設計負荷を意識しないといけなくなる

703:デフォルトの名無しさん
17/05/25 19:05:1


704:2.83 ID:rwN5JfUNp.net



705:デフォルトの名無しさん
17/05/25 19:55:10.84 pDlob0Fd0.net
でかいデータをstructにつっこんで扱う時に注意すべきことが書いてあるだけだろ
つまり代入が頻繁に発生する状況でも、そのプロパティに実際にアクセスがあるまでコピーを遅延させるテクニックについて触れられてるだけ
別に関数の引数に値型を使うなとかとんちんかんなことは書いてないな

706:デフォルトの名無しさん
17/05/25 21:10:12.75 1RtxtHBK0.net
SwiftでCOW意識する人なんているんだ。
そういう人はC++とかRustとか使えばいいのに。

707:デフォルトの名無しさん
17/05/25 22:26:04.80 VkchUDpW0.net
最適化しない場所も含めて意識くらいはするでしょ
その程度のことで言語を変える理由にはならんよ

むしろStructでCoWという設計だからこと気兼ねなく渡せるってことに気付いた方がいい

708:デフォルトの名無しさん
17/05/26 05:16:56.16 xRlJL6be0.net
誤: StructでCoWという設計だからこと気兼ねなく渡せる
正: Array StructでCoWという設計だからこと気兼ねなく渡せる

どうしてもSturct全般でCOWが適用されると思い込みたいアホが食いしばってて笑う

709:デフォルトの名無しさん
17/05/26 07:23:41.84 nbO+4ovP0.net
>>686
「Structが」じゃなくて「Structで」な
Arrayに限らず、StringやDictionaryなどのstructでCoWを実装したもの全般

classでCoWを実装する場合は使う側が明示的にcopy()clone()などを呼ぶかinitを使う必要があるが
structでは代入,引数渡し,戻り値がコピーセマンティクスなので透過的に扱うことが出来る

710:デフォルトの名無しさん
17/05/26 08:03:17.32 xRlJL6be0.net
COWの話題から、いつの間にか参照渡し/値渡しの解説になっててワロタ
結局はSturctでCOWが常時適用されるわけじゃないから気をつけようってこったな
参照渡し/値渡しの違いを知らないLL言語勢もいるかもしれんが、別の問題だから気にしない

>>671のReducing Dynamic Dispatchの節も面白い
SwiftはObjective-Cと違ってダイナミックディスパッチを減らす機構を持ってるぜ、と
これを徹底的に使い倒したら、局所的にはObjCよりSwiftの方が性能よくなる可能性が微レ存?

711:デフォルトの名無しさん
17/05/26 08:31:19.29 nbO+4ovP0.net
細かいところだけどclassは参照の値渡しでinoutは参照渡し

712:デフォルトの名無しさん
17/05/26 08:45:20.46 zBDwmOYm0.net
>>676
protocolにまつわる言い回しを色々見ますが、どれが適当なのでしょう?

1. protocolを切る
2. protocolを当てる
3. protocolに準拠させる

すべてadding protocol confromanceの訳語だとおもうんですけど。

713:デフォルトの名無しさん
17/05/26 08:49:45.12 zBDwmOYm0.net
最近のCPUはSIMD命令(SSEとかAVRとか言われるやつ)を内蔵していて、
でかいStructも一発でコピーできるって、理解は正しいっすかねぇ?

512bitレジスタが32個あって、しかもその32レジスタはペアで使える。
って事は、512bit x 32個 = 2Kbyteを一発でレジスタ -> メモリへmoveしたり
メモリ -> レジスタloadできる。

この理解はOKっすかねぇ。

714:デフォルトの名無しさん
17/05/26 10:19:08.37 LS4RNUEG0.net
>>689
in-out引数は参照渡しじゃない
in-out引数のセマンティクスはあくまでcopy-in copy-outで、最適化で参照渡しになる"場合もある"だけ
リファレンスではin-out引数が参照渡しであると想定したコードを書いてはいけないとはっきり言ってる
URLリンク(developer.apple.com)


715:/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID545 var i: Int = 0 { willSet { print("willSet: ¥(newValue)") } } i = 1 // prints "willSet: 1" i = 2 // prints "willSet: 2" func f(_ v: inout Int) { v = 3 v = 4 } f(&i) // prints "willSet: 4" 参照渡しなら"willSet: 3"と"willSet: 4"両方表示されるはずだけど 実際には関数に入るときにiの値がvにcopy-inされ 関数から出るときにvの値がiにcopy-outされるので copy-out時の"willSet: 4"しか表示されない



716:デフォルトの名無しさん
17/05/26 10:43:47.67 zBDwmOYm0.net
>>692
すんばらしい、説明

717:デフォルトの名無しさん
17/05/27 14:04:16.20 SDTaiU/Z0.net
>>692
え…
参照渡しと値渡しで違う動作するとき
動作がどっちになるかわからんってこと?

718:デフォルトの名無しさん
17/05/27 21:00:43.52 h0JsdT2O0.net
>>694の心の声
(やべぇ、まじかよ…。バグ仕込んじまった…)

719:デフォルトの名無しさん
17/05/27 21:48:41.96 aL4+kPgB0.net
inoutで渡された配列変数のオリジナルを関数内で操作しても副作用はないみたいただけどな

var a = [Int]()

func f(_ v: inout [Int]) {
v.append(3)
a.append(4)
v.append(5)
}

a.append(1)
f(&a)
a.append(2)

print(a) // [1, 3, 4, 5, 2]

ただ、それを想定するなということなんだろ

720:デフォルトの名無しさん
17/05/27 21:57:51.65 e57lt1AJ0.net
SwiftってiOSアプリ以外に広がる可能性ある?

721:デフォルトの名無しさん
17/05/27 22:13:54.38 7vlRlcaj0.net
少なくともwillSetがある場合は参照渡しの最適化が掛からないようだね
以下のAはcopy-in, copy-outになっていて、Bは参照渡しになってる
URLリンク(swift.sandbox.bluemix.net)

722:デフォルトの名無しさん
17/05/27 22:20:21.28 SDTaiU/Z0.net
>>696
いやそれ副作用ある状態じゃん
関数終わった時点で
a=1,4
v=1,3,5
だからoutでvがaに上書きされて
1,3,5,2 が出ないといけないはず

723:デフォルトの名無しさん
17/05/27 22:21:46.44 7vlRlcaj0.net
>>696
var a = [Int]() { willSet{ } } にしたら [1, 3, 5, 2] になるね

724:デフォルトの名無しさん
17/05/27 22:26:06.26 SDTaiU/Z0.net
えええええ
ほんとに動き違うのかwwww

725:デフォルトの名無しさん
17/05/27 22:26:19.82 aL4+kPgB0.net
>>699
aの内容を変更するためにf()にaを渡したのだから、f()の中ではaとvは同じ扱い
なので、inoutの仕様からすれば、>>696の挙動が自然だと思うけど

726:デフォルトの名無しさん
17/05/27 22:30:22.71 aL4+kPgB0.net
willSetの有無で挙動が変わるのはいただけな
デバッグで混乱する元になる

727:デフォルトの名無しさん
17/05/27 22:31:17.31 SDTaiU/Z0.net
>>702
>>692のリンク先
In-out parameters are passed as follows:
1.When the function is called, the value of the argument is copied.
2.In the body of the function, the copy is modified.
3.When the function returns, the copy’s value is assigned to the original argument.

コピーされるて書いてあるやん!

728:デフォルトの名無しさん
17/05/27 22:38:43.72 aL4+kPgB0.net
>>704
そこに
As an optimization, when the argument is a value stored at a physical address in memory, the same memory location is used both inside and outside the function body. The optimized behavior is known as call by reference
とも書いてある。参照を渡して最適化されると。
それに依存して関数内で参照元にアクセスするなとも書いてあるけど

729:デフォルトの名無しさん
17/05/27 22:41:57.41 SDTaiU/Z0.net
>>705
うん、>>692を誤読してた
動作変わるのは最適化って言わねーよ!

>>696ってほんとに試したんか

730:デフォルトの名無しさん
17/05/27 22:47:16.42 aL4+kPgB0.net
>>706
Playgroundにコピペして試してみればいいだろ

731:デフォルトの名無しさん
17/05/27 22:49:30.62 SDTaiU/Z0.net
Write your code using the model given by copy-in copy-out, without depending on the call-by-reference optimization,
so that it behaves correctly with or without the optimization.

…最適化と言い張ってるがこれはひどい

732:デフォルトの名無しさん
17/05/27 23:01:24.62 aL4+kPgB0.net
このぐらいの最適化はやってくれた方がありがたい
参照渡しの方が確実にパフォーマンス上がるし、通常の使い方で副作用もない
副作用があるようなら書き方に問題があるだろ
inoutで受けた変数のオリジナルにアクセスするコードにワーニングぐらい出してくれたら
とも思うけど、まだそこまで面倒は見きれないんだろ
ただ、最適化の恩恵にあずかりたいなら、willSetなんかは入れない方がいいみたいだな

733:デフォルトの名無しさん
17/05/27 23:07:17.91 Hem7AZxu0.net
>>706
いや最適化だよ
参照渡しにしたとしても、外形的にcopy-in copy-outした場合と全く同じ動作をする場合にだけ、参照渡しに最適化される
ただ、>>696みたいなコード書くとその最適化の前提がぶっ壊れるから絶対するなとリファレンスでも言ってるだけで

リファレンスにはっきりやるなと書いてることをやって壊れたからってそれはプログラマの責任でしょ

まぁ将来的にownershipが入れば>>696みたいなコードもちゃんとコンパイルエラーにしてくれるようになると思うよ

734:デフォルトの名無しさん
17/05/27 23:47:08.68 7vlRlcaj0.net
willSetがあるとmutating funcもself自体がcopy-in copy-outになった
これもリファレンスのどこかにあるのかな

struct A{
var v = [Int]()
var onAppend: (()->())? = nil
mutating func f() {
v.append(1)
onAppend?()
}
}
do {
var a = A()
a.onAppend = { a.v.append(2) }
a.f()
print("willSetなし", a.v) // [1, 2]
}
do {
var a = A() {willSet{}}
a.onAppend = { a.v.append(2) }
a.f()
print("willSetあり", a.v) // [1]
}

willSetなし [1, 2]
willSetあり [1]

735:デフォルトの名無しさん
17/05/28 00:12:22.92 Kbiso++70.net
willSet/didSetの挙動が怪しすぎるな
バグなのかもな

736:デフォルトの名無しさん
17/05/28 08:47:45.67 tTxkySJm0.net
>>712
いや挙動的には予想通りだよ
didSetはともかく、willSetの方は呼ばれたコード内では「変更前のオリジナル変数」と「変更後のnewValue」が用意されてるから別の実体作って変更してる
想像だけどinout引数を持つ関数側はバイナリコードレベルでは常に参照で受取るようになっていて
willSetがある変数でmutating funcやinout渡しをすると、呼ぶ側が一時変数作ってそれを渡すコードを生成してると思う

var a = A() { willSet{ } }
a.f() //mutating func f()
   ↓
var a = A()
func a_willSet(_ newValue:A) { }
do {
var tmp = a
tmp.f()
a_willSet(tmp)
a = tmp
}

inoutの場合は a.f()とtmp.f() が f(&a)とf(&tmp)になるイメージ

737:デフォルトの名無しさん
17/05/28 09:31:38.11 o7LOyvX/0.net
この挙動を理解してなければ、structにwillSet/didSetを実装してパフォーマンスに意図しない影響を与える可能性があるな

738:デフォルトの名無しさん
17/05/28 11:21:48.67 6qJqAaY90.net
>>697
ないっしょ…
なぜSwiftとかいう自己満発展途上言語なんか使ってるかって言ったらApple様ご指定だからってだけだし

739:デフォルトの名無しさん
17/05/28 11:31:20.31 z3zgF0Nw0.net
mutatingはselfをinoutで渡す
a.f() // これは
A.f(&a)() // これと同じ
なので一般のinout引数と同様にmutatingメソッド内のselfもセマンティクス的にはcopy-in copy-out

ただmutatingが暗黙にselfをinoutで渡すって説明はリファレンスには見つけられなかった
リポジトリのdocsに放り込まれてる文書群ではしばしば言及されてるけど

740:デフォルトの名無しさん
17/05/28 12:29:40.83 o7LOyvX/0.net
気軽にプロパティ変えたつもりの1行で、コピーが3回も(うち2回は配列全体のコピー)発生するのね
structのwillSetは曲者だな

struct Weapon {
var name: String {
willSet { print("new wepon name = ¥(newValue)") }
}
}

struct Monster {
var name: String
var weapons: [Weapon] {
willSet { print("new weapons = ¥(newValue)") }
}
}

var monsters = [
Monster(name: "Goblin", weapons: [Weapon(name: "Knife")]),
Monster(name: "Orc", weapons: [Weapon(name: "Sword")]),
Monster(name: "Dragon", weapons: [])
] {
willSet { print("new monsters = ¥(newValue)") }
}


monsters[1].weapons[0].name = "Mace"
// output
/*
new weapon name = mace
new weapons = [Weapon(name: "Mace"]
new monsters = [Monster(name: "Goblin", weapons: [Weapon(name: "Knife")]), Monster(name: "Orc", weapons: [Weapon(name: "Mace")]), Monster(name: "Dragon", weapons: [])]
*/

741:デフォルトの名無しさん
17/05/28 12:30:23.95 o7LOyvX/0.net
クラスで実装すれば、wellSetあってもコピーはプロバティに対しての一回だけ
class Weapon {
var name: String {
willSet { print("new wepon name = ¥(newValue)") }
}
init(name: String) {
self.name = name
}
}
class Monster {
var name: String
var weapons: [Weapon] {
willSet { print("new weapons = ¥(newValue)") }
}
init(name: String, weapons: [Weapon]) {
self.name = name
self.weapons = weapons
}
}
var monsters = [
Monster(name: "Goblin", weapons: [Weapon(name: "Knife")]),
Monster(name: "Orc", weapons: [Weapon(name: "Sword")]),
Monster(name: "Dragon", weapons: [])
] {
willSet { print("new monsters = ¥(newValue)") }
}

monsters[1].weapons[0].name = "Mace"
// output
/*
new wepon name = Mace
*/

742:デフォルトの名無しさん
17/05/28 12:35:53.43 eqNgb5P3p.net
Swift初期にJavaScriptに似てるからWeb屋が参入してくるとか言ってた人もいたけど全然違うしSwiftはObjective-Cより仕様が複雑になってきたね
でもおかしなコードはコンパイラがビシバシ教えてくれるし仕様を詳しく知らなくてもとりあえずコードを書く事はできるかな?

743:デフォルトの名無しさん
17/05/28 22:04:52.22 ls5tm5z70.net
Swiftけっこう難しい
Objective-Cは形式張っていてコードがやたらと長くなるだけで実はそんなに難しくない

744:デフォルトの名無しさん
17/05/28 22:35:10.01 7/a46AkG0.net
>>720
俺もSwift難しい。
structにprotocol適用したり、protocol extensionとか。

745:デフォルトの名無しさん
17/05/28 22:44:58.49 ew7wH7J40.net
詰め込みすぎて開発者のスキルでコードが変わりすぎるのが難点

746:デフォルトの名無しさん
17/05/28 22:57:25.17 Y/jTFKWEd.net
>>720
C知ってればハードル高くないからなObjCは

747:デフォルトの名無しさん
17/05/28 23:22:08.09 o7LOyvX/0.net
そのCがハードル高いからな初心者には

748:デフォルトの名無しさん
17/05/28 23:28:56.75 6qJqAaY90.net
SwiftとCのどっちがハードル高いかって言ったらCとは言えないけどな
Cのシンタックスをベースにしてる言語は多いから、初学者にSwiftとC
どっちをやった方がいいかって言われたら間違いなくCだわ

749:デフォルトの名無しさん
17/05/28 23:30:24.66 o7LOyvX/0.net
初心者にポインターは結構ハードル高いと思うけど
あとメモリ管理にシビアな所とか

750:デフォルトの名無しさん
17/05/29 00:25:02.54 lFCv8yRy0.net
Cもわからんようなもやしエンジニアが増えると思うと先が思いやられる
ソフト屋もハードウェアに近いプリミティブな部分の理解は必要なんだけとな
そういう意味でCは高級アセンブラ的なバランスがちょうどいい

751:デフォルトの名無しさん
17/05/29 00:38:37.93 21264BYsa.net
>>726
ポインタが難しいって言ったって、結局ポインタ的なメモリの知識はあった方がデバッグでメモリ周り疑う疑わないに直結するしなぁ。。。

752:デフォルトの名無しさん
17/05/29 00:47:58.23 3RO08/qX0.net
でも今は簡単なゲーム作りたいとかなら特にポインタの知識なくても作れちゃうからなぁ
初心者にC言語でゲーム作ってだと難しいと思うけど、Swiftなら割と簡単
モグラたたきとかジャンケンゲーム程度なら初心者でも2,3日で作れるかも

753:デフォルトの名無しさん
17/05/29 00:57:45.02 21264BYsa.net
誰もポインタないと作れないなんて言ってない。
ポインタの知識はトラブった時にトラブルの原因の候補にメモリが上がるか?どう状態かを推測出来るか?ってのに直結する。
ポインタと言うか、メモリの構造を知らなけりゃトラブルの原因として候補にす�


754:迴繧ェらない。 下手すれば永延と原因分からないまま、プログラムは未完に終わる。



755:デフォルトの名無しさん
17/05/29 01:03:25.64 3RO08/qX0.net
そんなこと言い出したら究極的にはコンパイラの癖とかハードの特性とかまで知らないとデバッグできないことになる
初心者にそこまで求めるのは余りにも遠い道のりになる

756:デフォルトの名無しさん
17/05/29 01:19:59.07 21264BYsa.net
そこまで言わんが、初心者と言えどもCPUとメモリの仕組みは理解してからプログラミングは始めて欲しいものだが。

体験して見たいだけなら兎も角、プログラマになりたいんならね。

757:デフォルトの名無しさん
17/05/29 06:40:45.44 DGY6L2yw0.net
kotlin nativeがllvm対応してるらしいのでiosでもkotlin使えそう。
となればswiftはもういいかな。

758:デフォルトの名無しさん
17/05/29 07:01:38.32 L9ed4gjcp.net
フフってなった
昔、SwiftもLLVMだからどこでも動くって言ってたなぁ

まぁKotlinは頑張ってポーティングしてるようだから
実用性はさておき動くんだろうけど

759:デフォルトの名無しさん
17/05/29 08:51:21.58 A7rCPaLD0.net
>>722
C言語のソースも、人によって全然違うけどなぁ。
とくに、Headerファイルのマクロ定義によってソースの印象がガラッと変わる。

760:デフォルトの名無しさん
17/05/29 09:10:28.76 96NrxdYRd.net
>>735
Cと比較したらCのがやりたい放題に決まってるだろ…
関数をアドレス指定で直接コールできる言語やぞ…
比較対象がおかしいわ

761:デフォルトの名無しさん
17/05/29 10:41:09.25 M6frmmyd0.net
ポインタとか分からんレベルの人にはやりたい放題出来ないがんじがらめの世界の方がいい気はする
柔軟性はObjective-Cで安全性はSwiftなイメージ

762:デフォルトの名無しさん
17/05/29 11:13:19.98 A7rCPaLD0.net
>>733
Kotlin/Nativeなんてのがあるのね!
知らんかった。JVM無しで動くコードが作れるのかな?

763:デフォルトの名無しさん
17/05/29 11:14:56.30 A7rCPaLD0.net
It is not a fully functional release yet,

Kotlin/Nativeがどの程度動くのか?気になる。

764:デフォルトの名無しさん
17/05/29 11:27:53.51 trx2RJe/F.net
>>729
ポインタ分からないって人は、参照型の値型の違いが理解出来なくないか?

765:デフォルトの名無しさん
17/05/29 12:04:20.43 3RO08/qX0.net
参照型と値型の違いがわからなくても使い方さえ理解できれば簡単なアプリは作れるからな
ある程度の最適化はコンパイラがやってくれるし、ハードの性能も上がってるから、多少の冗長性は無視できる
C言語だとそうはいかない
ポインタを知らないとまずまともなアプリはつくれない
外部のライブラリを利用する場合もポインタの知識は必須になる
ポインタの理解が参照型の理解の助けにはなるだろうけど厳密にはポインタと参照型は同じものでもないし

766:デフォルトの名無しさん
17/05/29 12:14:04.16 idSzy2HYd.net
それは、ポインタを知らなくても使い方さえ覚えれば簡単なアプリは作れる、っていっても同じじゃないか?

767:デフォルトの名無しさん
17/05/29 12:33:55.33 3RO08/qX0.net
ポインタの場合は概念を理解しないで使い方だけ覚えるってのはちと無理がある
Swiftの参照型は概念をきっちり理解できなくても、大概動くものは作れるし、変なことやろうとしてもIDEやコンパイラが注意してくれる

768:デフォルトの名無しさん
17/05/29 13:11:45.84 96NrxdYRd.net
>>740
ポインタしらなくても挙動でわかるだろ

769:デフォルトの名無しさん
17/05/29 13:27:25.51 idSzy2HYd.net
>>744
じゃなくて、ポインタの概念を理解出来ない人は、参照という概念も理解出来ないって言う意味だけど
挙動で理解出来てるなら、それは理解出来る人だよ

770:デフォルトの名無しさん
17/05/29 13:29:35.62 96NrxdYRd.net
>>745
参照を理解できたからとポインタも理解できたとは言えない
大小が逆

771:デフォルトの名無しさん
17/05/29 13:38:22.24 3RO08/qX0.net
そもそも初心者は参照型だ値型だとあまり意識しないんじゃないか
意識しなくてもコードは書ける
Swiftならね

772:デフォルトの名無しさん
17/05/29 21:45:25.45 lFCv8yRy0.net
>>741
だからObjective-Cはいろいろと素晴らしいと考える人が少なくないんだと思うけどな

773:デフォルトの名無しさん
17/05/29 21:47:34.02 e8


774:ZpNhPJ0.net



775:デフォルトの名無しさん
17/05/29 21:59:32.56 HMZ0UBYT0.net
>>749
そんな本なくてもswiftの簡単版みたいなもんだから余裕でかける

776:デフォルトの名無しさん
17/05/30 01:08:42.87 Q1uksSWN0.net
iosもandroidも共通で言えることなんだけどさ、もう一段フレームワークが欲しい。どっちもuiライブラリ止まりで、
全体の管理を行う部分が開発者任せで、正直困る。一画面アプリ止まりならそれでもいいんだけどさ。

777:デフォルトの名無しさん
17/05/30 01:09:28.67 YGoyijxE0.net
???

778:デフォルトの名無しさん
17/05/30 01:21:48.80 zlRLzU390.net
>>751
例えば?

779:デフォルトの名無しさん
17/05/30 02:18:06.30 Q1uksSWN0.net
ステート管理だけで言えばreactのreduxみたいなやつとか。
あれってファイルの置き場所とかもある程度誘導されるから迷いが減るんだよね。

780:デフォルトの名無しさん
17/05/30 09:52:12.97 zOXcPiC1p.net
ソースファイルの置場所も公式に決まってないSwiftに何期待してるのか
まずはSwift Package ManagerとXcodeで共通化することから始めよう

781:デフォルトの名無しさん
17/05/30 10:07:35.91 LRk+Le9O0.net
俺もパッケージマネージャが複数あるのが好かんなぁ。

1. Carthage
2. CocoaPods
3. Swift Package Manager

俺は1.がxcodeprojへの変更が少なくて好みだ。
2.はxcodeprojをどう変更してるのかが、見えない。

782:デフォルトの名無しさん
17/05/30 10:49:53.98 hcHvAlDm0.net
CocoaPodsはオープンソースだからxcodeprojをどう変更してるかは見えるだろ

783:デフォルトの名無しさん
17/05/30 10:53:32.01 LRk+Le9O0.net
Swiftとはちょいと違う事で質問です。
UMLモデリングって最近でも使われますか?
使う目的は何でしょう?

1. すでにあるコードの解析
2. これから作成するコードの可視化

784:デフォルトの名無しさん
17/05/30 11:24:11.63 hcHvAlDm0.net
そんなこと聞いてどうすんの? と聞き返したくなるような質問すんな
皆が使ってるなら使ってみようかってことか

785:デフォルトの名無しさん
17/05/30 11:24:54.00 gxWnkgCCa.net
しかるべきスレへ行ってはどうか

786:デフォルトの名無しさん
17/05/30 12:41:12.92 8S4zHXFCd.net
>>758
モデリングのために決まってんだろ

787:デフォルトの名無しさん
17/05/30 13:35:34.23 MeRfIrpoM.net
>>755
まさにこれ。決めてほしい。
それかアップル自身が公式にリファレンスとなるアプリをオープンソースにしてほしい。
react-nativeだとf8appがそれっぽいが。

なんかそれなりの規模のオープンソースアプリないかな。

788:デフォルトの名無しさん
17/05/30 14:59:25.27 zOXcPiC1p.net
swift.orgのPackage Managerのページにゴミのようなサンプルはあるけど
自身(SPM)のことしか考えてないから、自分で作った方が良いだろうねぇ

Swift Package Manager
URLリンク(swift.org)
Package.swift作って、Sources, Testsディレクトリ作る

CocoaPods
URLリンク(guides.cocoapods.org)
Podfile作る, Sources/*.swiftを参照

Carthage
URLリンク(github.com)
Carfile作る, Sources/*.swiftを参照

Xcode
上の全部を適当にpodが作った.xcworkspaceのプロジェクトツリーに加える

789:デフォルトの名無しさん
17/05/31 11:13:03.77 9hyFYnrA0.net
qiitaのKotlin記事を読んでて出くわしたphrase。

Android アプリ開発者であれば普段から英語を読んでいると思いますし、平易な英語なので大きな問題はないと思います。

俺にはComputer関連の英語文章が難しく感じるのだけど、どうなんでしょう?
exressionを式だと理解するのに、随分時間がかかったと思う。

790:デフォルトの名無しさん
17/05/31 12:18:51.47 mlMZGH6Ha.net
和書にも専門用語は英訳も一緒に載ってること多いから違和感無かったけど、入門してすぐ洋書だとそう感じるかも。

791:デフォルトの名無しさん
17/05/31 12:45:27.84 9hyFYnrA0.net
たしかに!

順方向伝搬(forward propagation)って書いてあるね。和書には。
expressionを式、statementを文と訳すのは判ったけど、和書には「式文」
ってのが時々出て来て、これ何を翻訳したんだ?

と不安になる。

792:デフォルトの名無しさん
17/05/31 16:07:11.28 nyiBm3r5H.net
そんなあなたに
Regular Expression
はどう訳す

793:デフォルトの名無しさん
17/05/31 16:13:04.68 9hyFYnrA0.net
>>767
いつも良く使うマッチ式

794:デフォルトの名無しさん
17/05/31 16:16:42.72 9hyFYnrA0.net
regular = いつもの
例:regular customer = 常連、regular coffee = 日々よく飲むコーヒー

regular ¥= 正規 = formal, proper

795:デフォルトの名無しさん
17/05/31 16:19:06.25 9hyFYnrA0.net
正規表現って訳語は、誤訳だわぁ。

796:デフォルトの名無しさん
17/05/31 16:19:30.13 9hyFYnrA0.net
誤訳を永遠と使い続けるのは、よく無い。

797:デフォルトの名無しさん
17/05/31 16:25:25.52 nyiBm3r5H.net
>>770
石田晴久が糞って有名ですし

798:デフォルトの名無しさん
17/05/31 16:37:31.63 9hyFYnrA0.net
>>772
まあ、情報が入手しずらい時代に苦心して日本語を当てたって感じだ。

Microsoftの文書を読んで、まったく意味がわからんかったのを思い出さしてクレルわぁ。DAO ActiveX Library, RDO ActiveX Libraryに関しての記述を読んで、
さっぱり意味不明だった。和文も、英文も。

サンプルコードを見たら一発で理解できた。

799:デフォルトの名無しさん
17/05/31 19:53:48.08 3T0UNs5qd.net
>>771
じゃあ
リベンジ:復讐
を、なんとかしてよ。

あとfeatureをフューチャーって発音するのもなんとかして欲しい。

800:デフォルトの名無しさん
17/05/31 20:15:00.41 Iu1e43xk0.net
>>774
頭悪そ。

801:デフォルトの名無しさん
17/05/31 21:26:00.22 DggZESjQ0.net
>>750
Swiftより簡単なの?

802:デフォルトの名無しさん
17/05/31 21:33:41.18 Iu1e43xk0.net
>>750
知ったか

803:デフォルトの名無しさん
17/05/31 21:47:41.16 WiTkOt3Sd.net
>>776
果てしなく簡単

804:デフォルトの名無しさん
17/05/31 22:53:30.93 JH+W+dlz0.net
swiftが言語仕様固まらないうちにkotlinがios対応しちゃうな。

805:デフォルトの名無しさん
17/05/31 23:40:55.86 pEaTZtAB0.net
Swift使ってる自分が好きな人

806:デフォルトの名無しさん
17/06/01 08:38:33.85 gogTzzXkd.net
モダンな言語Swiftを使ってる最先端な自分

807:デフォルトの名無しさん
17/06/01 09:47:53.31 5viUjg+Pd.net
swiftは作る奴の思考によってパラダイムが変わるから他人のコードがストレスになる糞言語
いっそのことclassを消してしまえばいいわ

808:デフォルトの名無しさん
17/06/01 10:35:07.17 Mc77jWtu0.net
>>782
糞に見えるのなら、三流エンジニアだな。使いこなせない事を棚に上げて、悪態ツイテルだけにしか思えん。
一体どこが糞なんだ?

809:デフォルトの名無しさん
17/06/01 10:53:52.60 kPS6C5Z/0.net
SwiftとKotlinでちょっと遅延評価リストを比較した

■Kotlin
オンラインコンパイラ: URLリンク(try.kotlinlang.org)

val a = generateSequence(0){it+


810:1} //A 問題なし println("A: "+ a.take(10).toList() ) //B 問題なし println("B: "+ a.take(10).map{it*10}.toList() ) //C 問題なし println("C: "+ a.filter{3<it}.take(10).toList() ) //D 問題なし println("D: "+ a.map{it*10}.take(10).toList() ) //E 問題なし println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )



811:デフォルトの名無しさん
17/06/01 10:54:14.25 AXJF1Amn0.net
swiftは言語仕様固まらないうちにAndroid対応しちゃうバカだからな
kotlinのios対応って何周遅れだよ...対応遅すぎる

812:デフォルトの名無しさん
17/06/01 10:55:55.93 kPS6C5Z/0.net
■Swift
オンラインコンパイラ: URLリンク(swift.sandbox.bluemix.net)

extension Sequence { var array:[Iterator.Element] {get{return map{$0}}} }

let a = sequence(first:0){$0+1}

//A 問題なし
print("A:", a.prefix(10).array )

//B 問題なし
print("B:", a.prefix(10).map{$0*10}.array )

//C 死ぬ
print("C:", a.filter{3<$0}.prefix(10).array )
//C-2 lazy付けたら動く
print("C:", a.lazy.filter{3<$0}.prefix(10).array )

//D 死ぬ
print("D:", a.map{$0*10}.prefix(10).array )
//D-2 lazy付けてもコンパイル不可
print("D:", a.lazy.map{$0*10}.prefix(10).array )

//E
print("E:", a.map{$0*10}.filter{50<$0}.prefix(5).array )
//E-2 lazy付加+分割で何とか動く
do {
let a2 = a.lazy.map{$0*10}
let a3 = a2.filter{50<$0}
print("E:", a3.prefix(5).array )
}

813:デフォルトの名無しさん
17/06/01 11:22:30.68 Mc77jWtu0.net
>>786
THX

無限個Sequenceを扱う時には、気をつけます。

814:デフォルトの名無しさん
17/06/01 12:01:04.94 5DFmWXv80.net
>>786
let a = sequence(first:0){$0+1}.lazy
でよくね
ここ書いてる時点で無限sequenceだってわかってるんだから

ambiguous云々言われるのは…まぁ…

815:デフォルトの名無しさん
17/06/01 13:13:36.56 5viUjg+Pd.net
>>783
日本語理解できないガイジ

816:デフォルトの名無しさん
17/06/01 13:17:57.99 EiP2TW+2d.net
たしかにこれはガイジ
理由書いてるレスに理由聞くとか新しすぎる

817:デフォルトの名無しさん
17/06/01 13:30:11.13 Mc77jWtu0.net
>>788
//print("D:", a.map{$0*10}.prefix(10).array )
print("D:", a.map{($0 as Int)*10}.prefix(10).array )

=> D: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

修正したらambiguous言わなくなったけど、なんでだ?

818:デフォルトの名無しさん
17/06/01 21:02:51.03 DEetJIxW0.net
スタイリッシュを装ってるが
ときどき地がでて$0とか$1とか書いちゃう田舎者
それがSwift

819:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/05 16:00:36.93 AJ9L3Zjp0.net
今夜Swift++発表か

820:デフォルトの名無しさん (ササクッテロル Sp3d-i1uu)
17/06/05 16:32:47.80 8WFwx/xcp.net
また新しい文法が増えるのか

821:デフォルトの名無しさん (スプッッ Sdea-esot)
17/06/05 17:46:21.52 mNvdXf0od.net
Swift+=1じゃないのか

822:デフォルトの名無しさん (ササクッテロリ Sp3d-+5QW)
17/06/05 18:51:21.00 SveFyKZdp.net
Swift4なんてなかった

823:デフォルトの名無しさん (スップ Sdea-EO1S)
17/06/05 19:31:26.86 3JnnQNM2d.net
>>795
だな
無駄に++構文無くしたからな

824:デフォルトの名無しさん (ワッチョイ d955-nAfx)
17/06/05 20:40:53.41 jJlkmHCz0.net
without Cという、表面的な自己満足を実現する言語仕様
という意味では成功してるかもなSwiftは

825:デフォルトの名無しさん (ワンミングク MM7a-sYLo)
17/06/06 09:11:21.70 qDrcxP3vM.net
See what’s next.
The new beta of Xcode 9 is now available,
and includes Swift 4 and SDKs used to build apps with the latest innovations and
powerful capabilities in macOS, iOS, watchOS, and tvOS.


おはギャーきたな

826:デフォルトの名無しさん (スップ Sd0a-EO1S)
17/06/06 09:21:00.69 Z7hLIrmcd.net
Swift4…。Apple正気か

827:デフォルトの名無しさん (ワンミングク MM7a-sYLo)
17/06/06 09:25:05.11 qDrcxP3vM.net
2017/05/26 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大
欠陥に気付いた時点から1年以内にITベンダーに通知すれば、通知後5年以内は修正や報酬の減額などを求めることできる

Swift3でシステム作って納品する

iOSバージョンが12になる。Swift4が必須になる

客がプロジェクトファイルからアップデート試す。Swift4の必須のエラーが出る。動作の不具合に気づく

気付いた時点から1年以内に通知すれば、5年間無料保証ゲット

つまりSwiftがアップデートするたびに、無償の修正作業を発生するということかな

828:デフォルトの名無しさん (ササクッテロリ Sp3d-c8bI)
17/06/06 09:57:12.15 LrtFpx4Mp.net
> iOSバージョンが12になる。Swift4が必須になる
ダウト
中途半端な知識でモノを言うもんじゃねぇよww

なお、小賢しいPMはSwiftバージョン上がる度に
最新のXcodeでビルドできないのはアポーのせいなんでwwwってメンテ工数をぶん取る模様

829:デフォルトの名無しさん (ワンミングク MM7a-sYLo)
17/06/06 10:07:42.01 qDrcxP3vM.net
それはお前が決めることじゃない。コンペで「今後欠陥に気付いてから5年間無料保証を請け負うお」を提案できる会社だけが仕事を取れることだけのこと

コンペで競争がおき、それを提案できる会社が出てくるから、それが慣習化していくよ。法でデフォルトで定められた無限保証をわざわざ有限保証にするバカはいない。

830:デフォルトの名無しさん (ワッチョイ 65ea-i1uu)
17/06/06 10:53:12.48 wPDXTWJN0.net
開発環境を変えてビルド出来なくなるのをソフトウェアの欠陥とは言わないよ

831:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 13:46:11.18 utAoocLg0.net
Xcode 9、リファクタリングとプロトコルのスタブ来たな
インデックス作成もサクサクになってる
GitHub統合とMarkdownエディタもいい感じ

832:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 16:11:39.52 utAoocLg0.net
DoubleWidthの実装がマージされた
URLリンク(github.com)

Int1024だって作れる
typealias Int128 = DoubleWidth<Int64>
typealias Int256 = DoubleWidth<Int128>
typealias Int512 = DoubleWidth<Int256>
typealias Int1024 = DoubleWidth<Int512>

833:デフォルトの名無しさん (ワッチョイ 25e3-zUMb)
17/06/06 20:23:51.33 mZslSucp0.net
また中途半端でトリッキーなもん作ってからに

834:デフォルトの名無しさん (ワッチョイ d9a9-qalp)
17/06/06 20:43:08.26 VnL+cFVq0.net
>>806
これなんか意味あるの?

835:デフォルトの名無しさん (ワッチョイ d9a9-qalp)
17/06/06 20:43:53.36 VnL+cFVq0.net
>>805
objc なみに軽くなった?
あとリファクタリングできる?

836:デフォルトの名無しさん (ワッチョイ fa8f-qNax)
17/06/06 20:54:56.54 kDjkRNjY0.net
無茶言うなよ

837:デフォルトの名無しさん (ワッチョイ d955-EO1S)
17/06/06 21:26:04.58 b/Jm2sx50.net
こんなことやってて意味あんの?
冗談抜きに自己満言語になってきたな
まじで日曜プログラマー専用言語だろもう…

838:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 22:18:30.88 utAoocLg0.net
>>808
オーバーフローしても計算続けられる

839:デフォルトの名無しさん (ササクッテロリ Sp3d-+5QW)
17/06/06 22:24:58.02 LrtFpx4Mp.net
最初から自己満足言語だから
そして、最初から驚くほどアポー信者が食いつかなかった
教祖様が亡くなるとここまで信仰心が薄れるとは思わなかったよな

ところでメモリ管理の文法と機能はどうなってるんだ
諦めたんかいな

840:デフォルトの名無しさん (ワッチョイ d955-nAfx)
17/06/06 22:26:08.72 b/Jm2sx50.net
>>813
さらに今となっては


841:Swift教祖のベジータ親父もいなくなったからな



842:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 22:27:50.89 utAoocLg0.net
>>813
ownershipのことならはじめから4がターゲットではない
布石は色々打ってるけど

843:デフォルトの名無しさん (ササクッテロリ Sp3d-c8bI)
17/06/06 23:23:01.91 LrtFpx4Mp.net
>>815
うせやろ・・・4はownershipのABIだけ決めて文法/機能は申し送りなのかいな
確かにStage 2のGoalsに明記はないけどさ、それだけがSwift4の楽しみだったのになぁ

とりあえず、3からの文法互換性はないはずなのでそれで遊ぶか
4 stableまでに転々とする文法と戯れてるわ・・・

844:デフォルトの名無しさん (ワッチョイ 2997-Vwti)
17/06/07 15:47:45.81 AtFlxxBS0.net
皆さんは、マウスorトラックボール、何を使ってますか?
どれが使いやすいのか…

845:デフォルトの名無しさん (ワッチョイ b96c-O++a)
17/06/07 16:06:10.70 R71ACYeB0.net
>>817
Logicoolの無線マウス(non bluetooth) 5 button

846:デフォルトの名無しさん (ワッチョイ 2997-Vwti)
17/06/07 19:00:25.23 AtFlxxBS0.net
>>818
やはりボタンが多い方が効率的ですかね?

847:デフォルトの名無しさん (ワッチョイ 65ea-Muw2)
17/06/07 19:25:41.92 coTyNxun0.net
WWDCなのに特に盛り上がってないのは公式のGitHubで既に今後の新機能などが公表されてるから?

848:デフォルトの名無しさん (ワッチョイ fa8f-V2gy)
17/06/07 19:46:55.11 NxYBwGCp0.net
盛り上がってるだろ
お前の知らない所で

849:デフォルトの名無しさん (ブーイモ MM0a-V3oX)
17/06/07 21:32:10.30 ytp+ypYWM.net
URLリンク(rakuma.rakuten.co.jp)

850:デフォルトの名無しさん (ブーイモ MM0a-V3oX)
17/06/07 21:32:54.12 ytp+ypYWM.net
買った人いる?

851:デフォルトの名無しさん (ワッチョイ 2997-Vwti)
17/06/07 23:08:32.64 AtFlxxBS0.net
削除されたらしいぞ?

852:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/08 00:38:04.54 uRfPT8Nu0.net
What's New in Swift
URLリンク(developer.apple.com)

ビデオ来てる~

853:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/08 02:02:17.69 bhRxW4Kj0.net
語尾は伸ばさない

854:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/08 03:01:54.72 uRfPT8Nu0.net
はい~

855:デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
17/06/08 13:30:06.35 7UFSdEc7p.net
ちがう!!もっと真剣になるのだ!
(知名度はあるけどリアルタイム世代はもう少ない)

856:デフォルトの名無しさん (ワッチョイ e511-lMIK)
17/06/08 13:48:25.97 9TvsnZIC0.net
>>821
どこで盛り上がってんの?

857:デフォルトの名無しさん (ワッチョイ 2311-W7ul)
17/06/08 15:48:31.51 MyrAc3uI0.net
昔はQiitaとかSlideShareとかで真っ先に投稿するやついたじゃん。
ああいう意識高い系が減ってきたらもう終わりだな。
Swiftなんてもう仲間内でワイワイやるだけの言語になっちゃったじゃん。

858:デフォルトの名無しさん (スプッッ Sd51-jiBQ)
17/06/08 16:05:21.61 SSbqo8UTd.net
iOS/macOS開発者をまとめて仲間内と表現するならそうだろうけど、その範囲を仲間内と言いだしたら、終わってない言語なんて無くないか?

859:デフォルトの名無しさん (JP 0H99-TzKE)
17/06/08 16:19:58.85 oPuedIYNH.net
>>830
そういう時期はもう過ぎた感じ

860:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/08 16:35:53.75 bhRxW4Kj0.net
いつまでも昔の事を懐かしんでばかりもいられねーぜ

861:デフォルトの名無しさん (ワッチョイ 2311-W7ul)
17/06/08 21:42:14.79 MyrAc3uI0.net
本来なら

「Androidの第一級開発言語としてSwiftが採用された!」とか
「Web業界でSwiftに注目が集まってる!」とか
「基幹システムでSwift採用の動きが?!」とか

そういう話が出始める時期なのに、肝心なABIが固まってないから後手に回されてる。
それがSwiftの現状。

862:デフォルトの名無しさん (スップ Sd03-0APj)
17/06/08 22:17:29.82 bONJW6wZd.net
abiってなんですか?

863:デフォルトの名無しさん (ササクッテロリ Sp71-+V7x)
17/06/09 10:17:12.02 2Ut1GWuyp.net
>>834
その時期ももう過ぎてる

864:デフォルトの名無しさん (ワッチョイ e511-sMjV)
17/06/09 14:46:27.58 VWf4RLmS0.net
>>835
Application Binary Interface

ABIが安定してないと以前のSwiftでビルドしたライブラリ(バイナリ)を
最新のSwiftでビルドしたアプリから呼べなかったりする

Swift4で安定化する予定だったけど延期された

865:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/09 23:51:31.69 jmMh9R660.net
iosアプリ作るしか能がない言語より
サーバサイドもお得意なkotlinのほうが良い。と思える。

866:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/09 23:57:34.70 gHl3UGQu0.net
Swiftもサーバサイド作れるだろ
お得意かどうかは知らんけど

867:デフォルトの名無しさん (ワッチョイ bd55-cAR5)
17/06/10 00:09:45.18 EfK23cou0.net
>>813
いや逆だろ…
真のアポー信者はSwiftなんか見向きもしない
信者ならJobsがNeXTで導入したObjective-Cを選ぶ

868:デフォルトの名無しさん (ワッチョイ 05ea-lMIK)
17/06/10 00:26:48.06 HxRjgs+d0.net
>>314
俺はベジータがいなくなった時点でそうとう梯子を外された感が強かった。お前が抜けてどうするんだと。

869:デフォルトの名無しさん (ワッチョイ 0be3-D9zB)
17/06/10 00:27:58.22 LZ2lcVsd0.net
アニメでそういう当てつけをしてるのか

870:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/10 01:03:05.37 HcYDlJQ/0.net
ラトナー今でもコアチームの一員だし、メーリスに出没するし、たまにプロポーザルのレビューマネージャとかもやっとるよ

871:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/10 01:21:03.27 Rd047FLv0.net
>>839
テイラースイフトだっけ?
kotlinはjavaの資産を使えるけど
swiftはゼロから作んなきゃいけない上に言語仕様も破壊的変更を辞さないから選択肢はないに等しい

872:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/10 01:44:36.70 iLxYgc210.net
テイラースイフトはアメリカの歌手だバカ

873:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 07:01:25.41 9Y1uaI8o0.net
>>845
身長185cmのデカイ女歌手だわさ。

874:デフォルトの名無しさん (ワッチョイ 0be3-D9zB)
17/06/10 07:31:11.58 LZ2lcVsd0.net
テイラースイフトが次に何をすればいいかわからないという意味不明な理由で
突然引退表明したのは
Appleへのなんかの恫喝だったのか

875:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 07:38:33.40 9Y1uaI8o0.net
>>844
破壊的変更も、納得感のあるものだったら、許容されるんちゃうかなぁ。
特にSwift言語仕様も変わるけど、UIKitの冗長なセレクタ表記が改善されて、
俺は、今んところ納得してるけど。

876:デフォルトの名無しさん (ワッチョイ 0bdb-0APj)
17/06/10 08:12:47.95 sZ6VtFAu0.net
つかabi安定まではβなので
swiftは4からがステーブル

877:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:16:54.23 9Y1uaI8o0.net
>>844
Kotlin Nativeってのもあるんだろ?
こいつは、Java資産使えんだろ?

878:デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
17/06/10 08:29:55.68 gUDVFMBtp.net
>>840
原理派:ObjCこそ至上、Swiftはクソ!
新進派:ObjCは古い、Swiftサイコー!
中立派:ObjCもSwiftもイイ!

Apple教もいろんな派閥があるけど新しいモノを兎角推進する新進主義が昔は主流だったのになぁ
iPhoneのディスプレイが4:3から16:9になった時の信者の掌返しはステキだった
あれだけAndroidの16:9ディスプレイはクソと言ってたのに即座に意見変えてやがんの

SwiftはObjCの資産が使えるけど何か


879:問題あるの?



880:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:37:08.06 9Y1uaI8o0.net
>>851

840は知らないだけの人なんでしょ。
Bridging Header書けば、ObjC使えるのに。

881:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:40:39.77 9Y1uaI8o0.net
>>852
ObjCで作ったクラスをSwiftが継承するってのもできるのかな?

882:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:46:33.15 9Y1uaI8o0.net
>>853
多分できそう。
逆にSwiftで作ったクラスをObjCで継承ってのも条件付きでできるらしい。
その条件ってのは、NSObjectを継承しておくこと。

883:デフォルトの名無しさん (ワッチョイ bd55-cAR5)
17/06/10 08:55:31.53 EfK23cou0.net
>>851
問題あるっつうか、Objective-Cの資産使う必要あるならわざわざSwift使う必要がないって思う

884:デフォルトの名無しさん (ワッチョイ bd55-zulR)
17/06/10 09:15:44.06 EfK23cou0.net
>>852
>>853
>>854
ところでこのやり取りはどういうことなのかな
同じPCを複数の人で共有してる人たちなのかな

885:デフォルトの名無しさん (ワッチョイ 0391-jiBQ)
17/06/10 11:51:05.65 GrQ3Xe9Q0.net
>>856
多分独り言

886:デフォルトの名無しさん (ワッチョイ 05ea-lMIK)
17/06/10 12:20:40.40 HxRjgs+d0.net
こわっ

887:デフォルトの名無しさん (ワッチョイ 2311-W7ul)
17/06/10 12:54:43.34 hjCkgTll0.net
ただの自己回答じゃね?
Twitterの自己返信みたいな使い方しちゃったんだろ。

888:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/10 15:23:23.67 Rd047FLv0.net
>>845
そういう名前のフレームワークがあるんだよアホ。

889:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/10 15:48:27.13 Rd047FLv0.net
>>848
問題はない。保守がしんどいだけで

890:デフォルトの名無しさん (アウアウウー Sa99-dRjq)
17/06/10 19:06:16.86 TAQSbKXRa.net
なにそれ、テーラー展開用のフレームわ~く?

891:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/11 10:09:49.55 BuXbRrFL0.net
izqui/Taylor

URLリンク(github.com)

892:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/11 10:44:29.60 tmILBbbd0.net
swift 2.0で開発止まってんじゃねーか

893:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/11 11:06:27.75 BuXbRrFL0.net
だからswiftでweb開発なんてって事

894:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/11 11:42:58.68 zYiizf9w0.net
サーバサイドならPerfectってフレームワークがある

895:デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
17/06/11 12:11:31.16 VsqhFcB6p.net
IBMが何かウェブ向けフレームワークをOSSで提供してくれる・・・
そんなふうに考えていた時期が俺にもありました

896:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/11 12:19:05.50 tmILBbbd0.net
URLリンク(github.com)
スター順でならべると
Perfect ★11,652 URLリンク(www.perfect.org)
vapor ★9,904 URLリンク(vapor.codes)
Kitura ★5,767 URLリンク(www.kitura.io)
Swifton ★2,055
swifter ★2,022
Zewo ★1,671
ウェブフレームワークはPerfect、Vapor、Kituraが三傑やね、いまんとこ

897:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/11 15:09:35.80 BuXbRrFL0.net
サーバサイドにswiftを採用するメリットって何かあるの?
毎年python3みたいなことしてるんでしょ

898:デフォルトの名無しさん (ワッチョイ bd55-zulR)
17/06/11 15:13:05.99 4QA65TrY0.net
SwiftはAppleがゴリ押してるから存在しているだけの言語だと何度言ったら(以下略

899:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/11 15:18:19.53 mK41LGi90.net
>>870
略さずに最後まで書けよズボラ野郎!

900:デフォルトの名無しさん (ワッチョイ 0bdb-sY+Q)
17/06/11 15:41:34.56 APfeVpAp0.net
>>870
abiが安定したとしてswiftより良い言語なんてないよ!

901:デフォルトの名無しさん (ワッチョイ 5b6f-D9zB)
17/06/11 15:52:44.44 3FpcyRKx0.net
ここだけの話Kotlinやっとけばいいことあるぞ

902:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/11 17:12:11.91 pREpTAR10.net
>>869
それは違う。

903:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/15 16:56:41.86 mVk/sB5T0.net
お前ら、まだSwiftで消耗してるの?

フリルをSwift 3.0移行した際に対応が大変だった箇所
URLリンク(in.fablic.co.jp)

904:デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
17/06/15 19:04:37.24 kFR7Ieffp.net
宣伝乙

905:デフォルトの名無しさん (ワントンキン MMaa-EcN4)
17/06/16 09:31:12.11 v6knFPg7M.net
Swiftは4で苦労し5になってさらに苦労する。
おそらく6も7も出るだろうな。
毎年ごくろうさまです

906:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/16 09:34:01.67 Z4YDsJ5H0.net
>>877
JavaScriptは、ES3で苦労しES5になってさらに苦労だ。
ES6(ES2015), ES7(ES2017)でも同じなんだなぁ。
毎年ご苦労。

907:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/16 09:35:16.81 Z4YDsJ5H0.net
Java8への移行は破壊的だったので、Java6, Java7の人は苦労してるんだろうなぁ。

908:デフォルトの名無しさん (スップ Sd7a-ie7X)
17/06/16 09:52:18.35 XLEAF0GDd.net
何を破壊されたって?

909:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/16 10:12:36.58 9j5+HHnT0.net
破壊されたのは俺の心だよ

910:デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
17/06/16 10:19:11.52 MC5LwP34p.net
Java8はABI相当にあたるbyte codeフォーマット変わったんじゃなかったけ?
まぁ昔からちょいちょい変わってるから今さら騒ぐことでもない

911:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/16 10:58:51.50 IdvUD0Qs0.net
>>878
いやいや、ブラウザ依存のクライアントサイドはそんなに頻繁に移行しねえよ。
開発環境レベルでバージョン移行強制してくるAppleとは違う。
こいつらサポートコンパイラ平気で切り捨てるじゃん。
本当バカだよ。AppleもSwift推してるお前らも。

912:デフォルトの名無しさん (ワッチョイ 7a6c-z4yC)
17/06/16 16:48:02.48 ZxleQuqQ0.net
4への移行はクソ楽だけどな

913:デフォルトの名無しさん (ササクッテロロ Spab-fUjK)
17/06/16 19:06:19.00 KyUpje1ap.net
楽かどうかしゃなくて毎回移行が発生してる事自体がクソだし評価基準が低すぎるんじゃないか

914:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/16 21:53:14.84 uNQVqIhb0.net
>>878
なんか破壊的変更あったっけ?
下位互換性を確保したままだからvarとか残ってるし

915:デフォルトの名無しさん (ササクッテロレ Spab-O+YK)
17/06/16 23:05:44.86 uEZP+i89p.net
下位互換考えなくてもvarは消さないだろ

916:デフォルトの名無しさん (ブーイモ MM97-yV4N)
17/06/17 13:26:55.34 NJSuCMN1M.net
JSはトランスパイラかますことによって互換性への責務は
トランスパイラ側に負わすことができるようになったので開発者側には影響がなくなった
今周りでJSで互換性に困ってるやつおらんやろ?
Swiftは真似できんけどあまり真似して欲しくはないがな
今はうまく行ってるけど責務が分散しすぎると再び暗黒時代が到来するかもしれんからな

917:デフォルトの名無しさん (ワッチョイ 136f-98cR)
17/06/17 13:41:27.85 /vA8NV250.net
Swift作ってる連中頭おかしい

918:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/17 13:45:24.41 gKqJeiga0.net
変でいい、変でなきゃダメだ…狂ってなきゃ、逸脱してなきゃ悪魔は殺せない

919:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/17 16:24:46.39 H3LE0Ews0.net
そしてまたジョブス不在の暗黒時代を繰り返す。

920:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/17 17:14:38.56 gKqJeiga0.net
そしてまたジョブズが復帰

921:デフォルトの名無しさん (ササクッテロリ Spab-mFeN)
17/06/17 17:31:48.49 MZFg2U9ip.net
Xcode 9のリリースノートを今更読んでたら
> New Build System
> Xcode 9 includes a new build system written from scratch in Swift.
ってあってワロタ、なんて無茶なことを・・・
まだデフォルトでは無効になってるようだけど面白そうだから誰か人柱になって常用してみてくれよ

あと、ObjCへのSwift機能のバックポートは今回はないのなー
いつも何らかバックポートしてたからそこそこ楽しみにしてたので残念だ

922:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/17 18:18:31.38 H3LE0Ews0.net
リファクタリング機能にObjC -> Swiftの変換機能入ってるらしいな。

923:デフォルトの名無しさん (ワッチョイ 2755-acG4)
17/06/17 19:04:06.90 K9qvepHC0.net
Swiftを使う必要性

924:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/17 22:31:16.17 254ieyWi0.net
>>892
まじで初のAI CEOとして復活してほしいわ。アップルまじで終わりそうじゃないか

925:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/18 11:51:51.46 5AZFASrW0.net
メモ

var family = "👨"
family += "¥u{200D}👩"
family += "¥u{200D}👧"
family += "¥u{200D}👦"

print(family)

926:デフォルトの名無しさん (ワッチョイ baea-fUjK)
17/06/18 12:54:19.07 a6KDZwUX0.net
>>896
会社がでかくなり過ぎたんかねぇ
それでも傲慢な舵取りがいればうまくやれてただろうけど

927:デフォルトの名無しさん (スッップ Sdda-ie7X)
17/06/18 12:58:55.68 gEuoDnOrd.net
あいぽん出るまでも十分に落ちぶれてたけどな
またもとに戻ってきただけやん?

928:デフォルトの名無しさん (アークセー Sxab-+aAl)
17/06/18 14:33:51.23 JELBB552x.net
今のiPhoneのデザインと種類、iPadの種類見たら発狂するだろうな

929:デフォルトの名無しさん (ワッチョイ aee3-2WTa)
17/06/18 15:42:22.77 7Dc/+OM00.net
ジョブスいてもアップルウォッチとかやってたし
スマホを普及させようって思惑があったからジョブス担ぎ出してたんじゃないの

突破力あっても先のネタがないときはダメなんじゃね

930:デフォルトの名無しさん (ワッチョイ 877e-MpGW)
17/06/19 01:43:58.06 E2TKZOHI0.net
米Yahooの凋落ブリを見れば、Appleだって盤石では無いかもしれん。
Hardwareやってるからって安心じゃ無いと思う。
Kodakだって、Sum Microsystemsだって、今は無いし。

931:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/19 02:23:53.66 2IBzsU2g0.net
最近はfacebookとmsを見直した。
ライブラリとか開発環境という意味で。
appleもjetbrainにide外注してもいい頃なのかも。

932:デフォルトの名無しさん (ワッチョイ 8bdb-ie7X)
17/06/19 02:43:40.88 +dhODesl0.net
ないわ

933:デフォルトの名無しさん (ワッチョイ 2746-C0RR)
17/06/19 07:25:43.76 ZJvPGQy00.net
Swiftを使う必要性

934:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/19 09:47:36.08 XZD/3rJT0.net
Swiftを使わない現実逃避性

935:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/19 10:46:35.06 zE2VOzv50.net
>>906
俺も現実逃避して、RubyでCrowler作ってる。
そんでもって、苦手なJavaScriptをいじってみた。

SwiftやRubyのClassがJavaScriptではコンストラクタ関数なのね。
Classの継承みたいな事もできるのね。

Chef.prototype = new Person();

上記は食堂のシェフさんは、Person()コンストラクタを継承している、ってのを意味する。

ここ2週間でJavaScriptの苦手意識が和らいだ。

936:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/19 10:48:38.23 zE2VOzv50.net
>>897
合体文字だね。
グラフィーム・なんちゃらとかいうヤツ。
一文字が、4つのUnicode Code Pointの合成だってのがビックリ。

937:デフォルトの名無しさん (ワッチョイ bb11-ueIM)
17/06/19 12:00:57.83 7W009+1i0.net
プログラムから合体エントリがあるかどうかって分かんないのこれ・・・
URLリンク(swift.sandbox.bluemix.net)

938:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/19 13:00:03.61 zE2VOzv50.net
>>909
u{200D}ゼロ幅接合子、なんてのを初めて知った。
一種の制御文字なのか?

939:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/20 17:37:25.95 lZP


940:WgdLT0.net



941:デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
17/06/20 19:20:46.18 Efx6+h5Up.net
釣られクマー

942:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/20 19:48:42.24 lZPWgdLT0.net
すまん誤爆した

943:デフォルトの名無しさん (ワッチョイ aee3-2WTa)
17/06/20 23:39:45.33 Be6KQlsF0.net
いいこと知った
今度からDBのキーにしよう

944:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/21 02:23:36.15 CAzvCkNY0.net
swift学んでもどんどん仕様変わるし、kotlinでいいや。jsのトランスパイラとしても使えて汎用性も高い

945:デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
17/06/21 09:14:44.69 igMpLhZ+0.net
>>915
kotlinがjsのトランスパイラ?
そんな使い方できるのか?
ES2016をES3に変換とか?

946:デフォルトの名無しさん (ワッチョイ baea-fUjK)
17/06/21 12:57:49.34 HAJg4uQG0.net
ラトナーがテスラ辞めるらしいね。Appleに戻る事はないよな。

947:デフォルトの名無しさん (ササクッテロラ Spab-mFeN)
17/06/21 13:21:24.57 8HJLBlFbp.net
Googleにでも行って腰を落ち着ければいいんじゃないかなぁ!
GoはそんなにLLVMに依存してないからあんまり重宝されそうにないけど

swift.orgかIBMに行ってやっぱりSwiftの発展に貢献するわって言い出したら大笑いする

948:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/21 13:29:52.06 +68Qq9J60.net
Swiftの初期設計もそうだったけど、ラトナーってあまり先のこと考えずに物事進める人なんかな

949:デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
17/06/21 14:30:26.68 igMpLhZ+0.net
>>917
Autopilot部門にはすでに替りの2名が雇われているって事は、
Chris Latterはfiredされたっぽい。

URLリンク(electrek.co)

950:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/21 14:32:12.77 +68Qq9J60.net
お、お前は、く、首だぁーーーっ!!!
てこと?

951:デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
17/06/21 14:33:21.11 igMpLhZ+0.net
Turns out that Tesla isn't a good fit for me after all. I'm interested to hear about interesting roles for a seasoned engineering leader!

Chris LatterのTweet

結局テスラには合わんかった。期間限定の技術リーダー職に興味あり!

って言ってるから、行き先がまだ決まらんらしい。

952:デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
17/06/21 14:36:10.85 igMpLhZ+0.net
LLVM & Clang rule the world. The present revolution is Swift! I'm looking for a new role as an engineering leader, my resume is easy to find

nondot.org/sabre

Twitterのprofileに新しい職を探してる。履歴書はココ!って書いてある。

953:デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
17/06/21 14:37:20.10 igMpLhZ+0.net
以外とJobsみたいにAppleに戻るかも。

954:デフォルトの名無しさん (スップ Sd7a-acG4)
17/06/21 18:07:27.80 +sFm3C+Zd.net
>>922
期間限定の技術リーダーってAppleのSwiftのような仕事だろ?
要は好きなように面白いところだけかじってケツフキは他に任せるスタイルかな

955:デフォルトの名無しさん (ワッチョイ 2746-C0RR)
17/06/21 18:41:46.64 V+qHgbfB0.net
>>908
ASCII文字のインクリメントと本質的に何か違うの?

956:デフォルトの名無しさん (ワッチョイ 1ade-RAw3)
17/06/21 19:15:11.74 /mlOW3lC0.net
いや、ここはJetbrains行ってKotlin担当になるのもあり

957:デフォルトの名無しさん (ワッチョイ 37a9-TgRi)
17/06/22 01:14:15.86 77+4f1XL0.net
>>927
kotlinの終りが始まるじゃないか

958:デフォルトの名無しさん (JP 0H3f-ZLad)
17/06/22 13:33:25.75 vCyDOsNXH.net
name:string
型推論がいる場合と、いらない�


959:鼾№チてどうやって見分けるの?



960:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/22 13:41:59.31 bN+uDoCT0.net
んなもん推論できるかどうかに決まってるだろ

961:デフォルトの名無しさん (ササクッテロリ Sp0b-H9SD)
17/06/22 14:52:44.89 6k72kRRJp.net
Swiftの型推論は単純だから=で繋いだ右辺から型が推測できる場合に省略可能って判断で良いんじゃないの
右辺で指定した型から後続の処理に依って型を見直すような奇怪な処理はSwiftでは存在しない

func get_name() -> String {
return "Hello World"
}
let name = "Hello World"
let name2 = get_name()
let name3: String // 省略不可

クロージャーパラメータは省略して良い/悪い場合があるけどAppleのReferenceに記述がないな
省略してエラー出たら処置してるけど、振る舞いについて明確な記述があると良いんだけど・・・

962:デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
17/06/22 19:57:14.67 7u4/pAoZ0.net
しかし、なんでこの時期にobjective-cからswiftにしたんやろ
appleもジョブズ全盛期のiPod、iPhoneの黄金時代にこういう事するならわかるんだけど
(スマホのアプリ開発だったらobjective-cは冗長かもしれないからswiftみたいなのがあった方が
 よかったかもしれない)
どっちかってとandroidとかが台頭してきて
apple自体が緩やかに下降してる時期にこういう事しても混乱するだけのような気がする

963:デフォルトの名無しさん (ワッチョイ 9f11-sx/F)
17/06/22 20:08:42.38 ufUHiQwH0.net
>>932
それだよな。
俺もこれを機会にXamarinなんかのマルチプラットフォームに移行しようかと思ってる。
Swiftは結局Apple DeveloperのCocoa離れを招いただけにしか見えん。

964:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/22 20:38:43.88 bN+uDoCT0.net
Obj-CはC言語の知識を前提にしてて初心者にはハードルが高かったからな
Swiftは今や教育の現場でも使われてる(Apple談)らしいし
開発者の裾野のを広げたという意味では成功だったんじゃね?

965:デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
17/06/22 20:48:25.27 7u4/pAoZ0.net
だとしても時期が最悪すぎるkotlinとモロ被りしてるから
なによりswiftが今後も使われ続けるっていう保証が無いのが厳しい
今objective-cでその前例を作ろうとしてるし

なんだかんだ言ってwindowsはずーとc++かc#をメインに据えるつもりだろうし
だから技術者も安心出来るけどobjective-cは話が違うと思う
なによりCocoaのコアはobjective-c使ってんのにわざわざ新規のappleデベロッパが
objective-c使わなくてもいい状態作る意味がよくわからんわ

966:デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
17/06/22 20:53:42.90 7u4/pAoZ0.net
別にswiftアンチって訳じゃない
なんで今このタイミングでってのが正直な感想
objective-cを排斥したいとかそういう訳じゃないだろうし

967:デフォルトの名無しさん (スップ Sdbf-X2fd)
17/06/22 20:54:27.76 eF77QSCOd.net
>>932
ネタがないから言語変えて新しい感出してしのごうとしただけ
いやまじで

968:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/22 21:05:59.51 bN+uDoCT0.net
なんでこのタイミングでって
もう3年たってんだが
モダン言語がもてはやされてる中で旧態依然としたObj-Cは言語的な限界を抱えて
ジリ貧だったし
まぁそれでもObj-Cのサポートもまだやめるとも言ってないし、Swiftが嫌なら、Obj-C使ってればいいだろ

それにMSだって、ベーシック、VB、C++、C#とプッシュする言語を変えたりしてきてるだろ
VBスクリプトとか、JScript とかプッシュに失敗した言語もあるけど

969:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/22 21:10:11.23 bN+uDoCT0.net
そういえば、Visual J


970:++ なんて言語もあったな



971:デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
17/06/22 21:10:50.57 7u4/pAoZ0.net
>>937
それちらっと考えた事あるけどマジだったらappleやばすぎんだろ
なんでよりによって言語に手を出すのかイミフすぎるw
それだったら海外で普及率が高くてcに近いpython(もしくはアンチ多いのは知ってるけどjava)
採用すれば良かったのにpythonのインデントには一長一短あるけどappleがそこらへん改良すればよかったんに

972:デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
17/06/22 21:18:45.66 7u4/pAoZ0.net
>>938
そうはいってもMSの場合はプッシュするけど強制移行ではないだろ
まあappleも別にswift強制してるわけじゃないけどいまのところは

973:デフォルトの名無しさん (ワッチョイ 3746-WRcl)
17/06/22 21:56:17.52 vSIEqre/0.net
>>940
Apple製の独自言語にこだわったんだろ

974:デフォルトの名無しさん (ワッチョイ 3746-WRcl)
17/06/22 21:57:47.73 vSIEqre/0.net
>>941
最初は強制する勢いの事言ってたけどな
多少は現実を見たんだなAppleも

975:デフォルトの名無しさん (ワッチョイ 3746-WRcl)
17/06/22 22:02:43.23 vSIEqre/0.net
>>938
言語的な限界というけど、Objective-CでiOS市場がここまで発展してきた事実がある
Objective-Cが原因で市場の伸びに陰りが見えてきたわけでもなかろう
要するに政治的理由によってSwiftが生まれ、後付けで技術的な理由を与えて
正当化に邁進しているのが今のAppleの姿

976:デフォルトの名無しさん (ササクッテロル Sp0b-wVVW)
17/06/22 22:05:09.51 5WVJd+L9p.net
ここ数年はKotlinやらファブレットやらウェアラブルやら他社の真似事と後追いでしょ。
社内で長年研究してたとしても公開が遅いと目新しさは無くなるし、昔に比べてAppleが最前線に立って時代を牽引してる感が減った。

977:デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
17/06/22 22:05:20.80 51iYkjz/d.net
せめてabi安定してから正式にリリースするべきだったとは思うね

978:デフォルトの名無しさん (ササクッテロル Sp0b-wVVW)
17/06/22 22:12:28.64 5WVJd+L9p.net
iPhoneはそれまでのスマホを変えたしiPadはそれまでのタブレットを変えただろ?今のAppleにはそういう力が無いように思える。Swiftは世の中にとってのプログラミングというものを変えるのかな。
ちなAppleディスじゃなくてこれからも期待したいって気持ち。

979:デフォルトの名無しさん (ワッチョイ 17e3-ZLad)
17/06/22 22:17:12.23 S5knCHGZ0.net
abi安定ってバージョン間の互換性のことじゃないん…?

980:デフォルトの名無しさん (ササクッテロリ Sp0b-TFIf)
17/06/22 23:19:44.48 6k72kRRJp.net
MusicとかPayとかTVとか後発の上で転けたソリューションはApple多いだろ
なんで言語だけ失敗してると思っちゃってるのか

いつもの失敗事例と理解した上で、信者を煽って儲けるのよ
そして儲け時は3前後で終わった

981:デフォルトの名無しさん (ワッチョイ 9fea-wVVW)
17/06/23 00:33:18.91 9ZdnzQ7F0.net
過去の資産もあるしApple自身がなかなかSwiftに移行出来てないよな。Objective-Cのままコンパライラだけ改良すれば良かったんじゃないのか。

982:デフォルトの名無しさん (スップ Sd3f-X2fd)
17/06/23 00:38:54.07 lq6hyr5yd.net
>>950
Objective-C 3.0でよかったと思ってる人は少なくない

983:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/23 01:18:47.90 iQFnf+tE0.net
フレームワークは別にSwiftで書き直す必要はないだろ
Xcode9は、Swiftで書き直されたらしいけど

984:デフォルトの名無しさん (ワッチョイ 1717-xZYH)
17/06/23 08:46:40.14 xn1MMrsE0.net
>>935
Carbon APIからCocoa APIに移行した前例はなかった、いいね?

Xcode9はswiftでリメイクされてねーよw
されたのはビルドツールの低レイヤーの一部で、それもまだ試験段階のオプショナル機能で本流は依然C/C++のままだよ

985:デフォルトの名無しさん (エムゾネ FFbf-X2fd)
17/06/23 09:12:46.00 aALxvsi9F.net
>>935
ほんそれ

986:デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
17/06/23 09:18


987::53.01 ID:QvFo+gQid.net



988:デフォルトの名無しさん (スップ Sd3f-X2fd)
17/06/23 09:42:00.66 jqp+LnwHd.net
モダン()

989:デフォルトの名無しさん (ササクッテロリ Sp0b-xZYH)
17/06/23 09:58:29.28 hp7X3mpnp.net
ObjC 2.0 = Modern ObjC ってそれ一番言われてるから

モダン()

990:デフォルトの名無しさん (ワッチョイ 376c-dFnT)
17/06/23 10:12:48.79 WbdPjV0H0.net
開発環境のモダナイズにSwiftが貢献したのは確実!

モダン言語には、
Generics、遅延評価、リフレクション、非同期実行、Reactive Extensionが必要だが、Swiftには全部ある。

Obj-Cには幾つかが欠けている。

991:デフォルトの名無しさん (JP 0H3f-ZLad)
17/06/23 10:22:25.69 CKidImyzH.net
Obj-Cって、Basicみたいになるの?無くなる?
Swiftって、C#みたいになるの?

992:デフォルトの名無しさん (スッップ Sdbf-lciP)
17/06/23 10:58:06.85 jL8+m71Sd.net
好きな順番
1:Z80 Zilog Assembler
2:SHARP MZ-2Z002
3:Objective-C 2.0
4:TURBO C
5:N88-BASIC V2

993:デフォルトの名無しさん (ワッチョイ 376c-dFnT)
17/06/23 11:28:21.30 WbdPjV0H0.net
好きな順番

N88-BASIC
Visual Basic
Ruby
Swift
JavaScript

994:デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
17/06/23 12:04:26.10 QvFo+gQid.net
>>956
はい老害

995:デフォルトの名無しさん (ワッチョイ 9f11-sx/F)
17/06/23 12:14:32.98 BfkpCo240.net
プログラミング界隈での老害認定は議論にならないから禁止な。
お前ら小飼弾にも老害認定するのかよ。

996:デフォルトの名無しさん (スプッッ Sdbf-Xkcm)
17/06/23 13:08:51.24 KKIk1huhd.net
プログラミングやIT技術と老害は切っても切れないよ
老人は自分の全盛期の知識にしがみつくしか能がないからね

997:デフォルトの名無しさん (スッップ Sdbf-lciP)
17/06/23 16:16:36.25 jL8+m71Sd.net
>>964
そんな事は無いよ。

998:デフォルトの名無しさん (スップ Sd3f-X2fd)
17/06/23 23:04:46.99 jqp+LnwHd.net
>>962
老外は何歳から?

999:デフォルトの名無しさん (ワッチョイ 9711-ZLad)
17/06/24 10:32:13.99 E2zAWyMy0.net
関数型言語の要素を取り入れたのに
SequenceのmapとflatMapの戻り値を遅延評価不可能な配列にしちゃったり
ジェネリックプロトコル型の変数を作れなかったりと
所々野暮ったいSwiftはモダン言語というよりモダンを目指してる言語

1000:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/24 11:22:20.79 /vm3G4xV0.net
そんなことないもん
もだんだもん

1001:デフォルトの名無しさん (ワッチョイ 3746-WRcl)
17/06/24 12:15:23.26 jG1C/Elt0.net
モダンこそ正義

1002:デフォルトの名無しさん (JP 0H3f-ZLad)
17/06/25 20:03:23.90 VoklklBBH.net
iPhone作成の本買ったんだよ
ひと通り勉強して、やっと作成編に行ったんだけど
(acceleDeta:CMAccele!, error:ESError!)in
これが、構造体なのか、タプルなのか何かがわからない
最後の「!」 、これなんだよ

1003:デフォルトの名無しさん (ワッチョイ 377e-lHQv)
17/06/25 20:21:35.38 o1RuyNcZ0.net
>>970
forced unwrappingのマーク

1004:デフォルトの名無しさん (ワッチョイ 377e-lHQv)
17/06/25 20:22:17.61 o1RuyNcZ0.net
>>970
arguments list of closure

1005:デフォルトの名無しさん (ワッチョイ 377e-lHQv)
17/06/25 20:23:31.00 o1RuyNcZ0.net
>>970
どんな本を買ったのか?紹介されたし。
ただ、その程度の理解だと、ソースを読める様になるには、
あと半年掛かりそう。

1006:デフォルトの名無しさん (ワッチョイ 377e-lHQv)
17/06/25 20:25:37.23 o1RuyNcZ0.net
closureのある言語とは関わりが無かったのか?
JavaScript, Ruby, Obj-C, C#, Java8, Lisp
最近の言語には、皆搭載の機能なんだが!

1007:デフォルトの名無しさん (ワッチョイ f766-WRcl)
17/06/25 20:26:12.85 Sj7e/z2A0.net
さすがCよりハードルが低いと豪語するSwift様ですね^^

1008:デフォルトの名無しさん (ワッチョイ 377e-lHQv)
17/06/25 20:29:33.95 o1RuyNcZ0.net
forced unwrapping搭載の言語は、

Rust、Module std::option
TypeScript、 Non-Nullable Types
Python、 UnionTypes

まあ、C言語のUnionだな。

1009:デフォルトの名無しさん (ワッチョイ 9711-ZLad)
17/06/25 22:49:02.65 zM0QRH7J0.net
>>975
より安全、柔軟、短く書けるというのは聞くけど
ハードルが低いなんて話あったっけ?

>>970
まず構文をトップダウンで捉えていくこと
クロージャ → 引数 → 型名というように
そして型名に付く「!」はImplicitly Unwrapped Optionalという機能

1010:デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
17/06/26 13:44:48.41 FTzX3tdcd.net
暗黙アンラップは互換のためとはいえゴミ機能や

1011:デフォルトの名無しさん (JP 0H3f-ZLad)
17/06/26 18:24:42.23 BaJYx0onH.net
82歳おばあちゃんプログラマーやて
2年だぞ

1012:デフォルトの名無しさん (ワッチョイ 9f0f-q/w5)
17/06/27 23:50:37.10 Tdvy+2PR0.net
82歳コンピュータおばあちゃんはSwift使って開発したの?

1013:デフォルトの名無しさん (ワッチョイ 9fea-wVVW)
17/06/28 00:16:32.13 ut8cEm7Q0.net
そだよ

1014:デフォルトの名無しさん (JP 0H3f-ZLad)
17/06/28 10:46:24.01 5Wgu0I0dH.net
雛人形のアプリ作るって、最初から決めてたんで
作れたそうだ

1015:デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
17/06/28 11:14:13.23 fPVyfCmwd.net
swift playgroundとかいうお子ちゃまアプリつかったんかな

1016:デフォルトの名無しさん (ワッチョイ 376c-dFnT)
17/06/28 12:40:11.70 TPFzyswt0.net
>>983
Swift Playgroundsアプリデビュー

この本きになる。
誰かレポ頼む

1017:デフォルトの名無しさん (ワッチョイ 376c-dFnT)
17/06/28 12:41:43.48 TPFzyswt0.net
2014年に定年退職

この人書いてる
すごい

1018:デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
17/06/28 13:32:00.65 Kwjhme2a0.net
糞アプリなのにババアが作ったというだけで高評価
俺もババアということにしようかな

1019:デフォルトの名無しさん (ワッチョイ 9f6c-Tszu)
17/06/28 14:03:37.26 pBLqwlVb0.net
BMI計算機作ろうぜ

1020:デフォルトの名無しさん (ワッチョイ 9711-WRiT)
17/06/28 18:00:07.61 KUDOoNV30.net
次スレ
スレリンク(tech板)

1021:デフォルトの名無しさん (ワッチョイ 4211-HgJU)
17/06/29 14:06:17.68 d+4+tRQx0.net
SwiftのUnsafePointe<T>r .memoryってなんでUnsafePointer<T> .pointeeになったんだ?
pointerじゃないのかよ。

1022:デフォルトの名無しさん (ワッチョイ 1911-G2r4)
17/06/29 14:25:07.25 pdm0wtJX0.net
int* pointer = ...;
int pointee = *pointer;

1023:デフォルトの名無しさん (ワッチョイ 2d6c-ddzC)
17/06/29 14:33:31.72 7eb8fA4L0.net
>>989
employee, employer
adressee, adresser
committee, committer

1024:デフォルトの名無しさん (ワッチョイ 4211-HgJU)
17/06/29 15:11:16.70 d+4+tRQx0.net
値渡しだったのかよこれ。letで受け取ってたから気づかなかったわ。

1025:デフォルトの名無しさん (アウアウカー Sae9-HpRm)
17/06/29 20:28:22.35 34OH2oZDa.net
ぼいんてぃー

1026:デフォルトの名無しさん (ワッチョイ d291-WwN4)
17/06/30 11:10:30.24 EJMJZTSL0.net
質問があります。

下記のような文をよく見かけます。
var user: User = User() ----(1)

例えば、下記のような書き方もありえますよね。
var person: User = User() ----(2)

(1)が通常の書き方なんですか?

1027:デフォルトの名無しさん (ワッチョイ f148-a07H)
17/06/30 11:44:55.96 MEzXkkkz0.net
>>994
変数名をどう付けるかというのは状況によるから通常の書き方とかはないんじゃないかな
クラス名を小文字やキャメルケースにしたものを変数名にするときは多いけど、それが原則ってわけでもないし

var employer: User = User()
var employee: User = User()

とかもっと具体的に意味がある名前をつけることだって多いし

1028:デフォルトの名無しさん (ワッチョイ 2d6c-ddzC)
17/06/30 12:44:48.18 BBkM2EA10.net
通常と例外
一般と特殊

これは、どういった概念なんだ?と俺もかつては思い悩んだ。

変数名、関数名、クラス名、プロトコル名を考えるのって、結構時間かかるから、最初は、a, b, x, yを使って後からフィファクタリングする事も多い。

1029:デフォルトの名無しさん (ワッチョイ d291-WwN4)
17/06/30 12:56:02.23 EJMJZTSL0.net
>>995
ありがとうございました。
よくわかりました。

1030:デフォルトの名無しさん (スップ Sdc2-sdB6)
17/06/30 16:23:18.62 B19xTbuId.net
>>996
フィファクタリングって何?

1031:デフォルトの名無しさん (エムゾネ FF62-W+l3)
17/06/30 20:04:29.44 7nu1Jmy1F.net
>>998
わかっててそういうこと言うと嫌われるよ

1032:デフォルトの名無しさん (ワッチョイ 928f-ddzC)
17/06/30 21:05:08.71 2WM8OB5N0.net
フィファクタリングとか今どき小学生でも知ってるだろ

1033:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 130日 11時間 4分 55秒

1034:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch