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
Swift part10 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b3c-eq+O)
2017/02/20(月) 10:00:13.40ID:ChbPWtRt02デフォルトの名無しさん (ワッチョイ 7ba1-vagz)
2017/02/20(月) 11:06:31.94ID:Gb72M66o0 < `∀´>ニダー
3デフォルトの名無しさん (ワッチョイ bbbd-ea4t)
2017/02/20(月) 13:14:50.34ID:mI2RJMjC0 さて、また荒らしと文字列の扱いについて談笑しようじゃないか
4デフォルトの名無しさん (スプッッ Sd7f-PET2)
2017/02/20(月) 13:18:27.57ID:ij1Njg09d 極上の言語のスレはここかな?
5デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/20(月) 16:05:25.21ID:IDSTiL890 WebAPIを叩く最小限のコードを書いています。
Terminal.Appで実行したところ、動くには動くのですが、最後のsleep文をコメントアウトすると、結果が表示されません。
sleep文はダサいので、うまい具合にbackgroundで実行中のThreadを待ち合わせる方法は無いでしょうか?なお、Swift3.0.2です。
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
//mainスレッドを捕まえて実行
}
}
task.resume()
print("OK")
sleep(1) // 1秒待つ
Terminal.Appで実行したところ、動くには動くのですが、最後のsleep文をコメントアウトすると、結果が表示されません。
sleep文はダサいので、うまい具合にbackgroundで実行中のThreadを待ち合わせる方法は無いでしょうか?なお、Swift3.0.2です。
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
//mainスレッドを捕まえて実行
}
}
task.resume()
print("OK")
sleep(1) // 1秒待つ
6デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 17:57:22.66ID:E/pOlJmJ0 Dispatch Group使ってwaitするか
DispatchWorkItem使ってwaitするか
かな
DispatchWorkItem使ってwaitするか
かな
7デフォルトの名無しさん (ワッチョイ bbbd-ea4t)
2017/02/20(月) 18:12:47.50ID:mI2RJMjC0 NSConditionでの実装例
ttp://swift.sandbox.bluemix.net/#/repl/58aab29626c3ba5cbe1d44ee
文字列でなんやかんや話してたエロい人たちがより良い例を出してくれると信じてる
ttp://swift.sandbox.bluemix.net/#/repl/58aab29626c3ba5cbe1d44ee
文字列でなんやかんや話してたエロい人たちがより良い例を出してくれると信じてる
8デフォルトの名無しさん (スッップ Sd7f-yXFx)
2017/02/20(月) 20:20:31.52ID:jVgNOv8dd >>5
Sleep()がカッコ悪いのでsyncで呼ぶ
Sleep()がカッコ悪いのでsyncで呼ぶ
9デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 21:23:20.98ID:E/pOlJmJ0 let task = URLSession.shared.dataTask(with: url) { data, response, error in
動きがなんかおかしいと思ったら
これcompletionHandler設定できてないような
動きがなんかおかしいと思ったら
これcompletionHandler設定できてないような
10デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 21:45:53.42ID:E/pOlJmJ0 最後にdispatchMain()を追加して明示的にexit()すればいいみたい
http://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co
#! /usr/bin/env swift
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url, completionHandler: { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: {print("dic = ¥(dic)"); exit(EXIT_SUCCESS)})
}
})
task.resume()
print("OK")
dispatchMain()
http://stackoverflow.com/questions/31944011/how-to-prevent-a-command-line-tool-from-exiting-before-asynchronous-operation-co
#! /usr/bin/env swift
import Foundation
var dic: Any = ["": ""]
func printJSON(_ data: Data) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
dic = json
print(json)
} catch {
print("parse error!")
}
}
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url, completionHandler: { data, response, error in
if let jsonData = data {
printJSON(jsonData)
DispatchQueue.main.async(execute: {print("dic = ¥(dic)"); exit(EXIT_SUCCESS)})
}
})
task.resume()
print("OK")
dispatchMain()
11デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 21:51:31.66ID:E/pOlJmJ0 関係ないけどこの外部ステートへの依存の仕方はちょっと気持ち悪く感じる
var dic: Any = ["": ""]
var dic: Any = ["": ""]
12デフォルトの名無しさん (ワッチョイ 8b5b-fFgi)
2017/02/20(月) 21:53:42.29ID:4Xv+kGUd0 >>9
メソッド引数の最後のclosureは()から出して記述できるんでは?
ただ、
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
の部分がPlaygroundでは実行されるのに、terminal.appでは実行されない?
メソッド引数の最後のclosureは()から出して記述できるんでは?
ただ、
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
の部分がPlaygroundでは実行されるのに、terminal.appでは実行されない?
13デフォルトの名無しさん (ワッチョイ 8b5b-fFgi)
2017/02/20(月) 22:01:34.57ID:4Xv+kGUd014デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/20(月) 22:05:11.29ID:E/pOlJmJ015デフォルトの名無しさん (ワッチョイ 8b5b-fFgi)
2017/02/20(月) 22:12:48.75ID:4Xv+kGUd0 Executes blocks submitted to the main queue.
って事は、
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
を実行しているみたいだ。dispatchMain()は。
exit(EXIT_SUCCESS)が無いと、dispatchMain()は永遠に実行待ちするみたい。
しょうが無いので、^Z + kill %1した。
って事は、
DispatchQueue.main.async(execute: { print("dic = ¥(dic)") })
を実行しているみたいだ。dispatchMain()は。
exit(EXIT_SUCCESS)が無いと、dispatchMain()は永遠に実行待ちするみたい。
しょうが無いので、^Z + kill %1した。
16デフォルトの名無しさん (ワッチョイ 5fc9-fFgi)
2017/02/20(月) 22:14:47.48ID:SiY39E3I0 while task.state == .running {
RunLoop.current.run(mode: .commonModes, before: .distantFuture)
}
RunLoop.current.run(mode: .commonModes, before: .distantFuture)
}
17デフォルトの名無しさん (ワッチョイ 5fc9-fFgi)
2017/02/20(月) 23:26:54.19ID:SiY39E3I0 extension URLSessionTask {
func wait() {
while state == .running {
RunLoop.current.run(mode: .commonModes, before: .distantFuture)
}
}
}
let task = ...dataTask(...) { ... }
task.resume()
task.wait()
これならdownloadTaskとか他のtaskでも、上のextensionで1つで全部対応できていいと思う
task.wait()だけで済むから、DispatchGroupとかDispatchSemaphoreみたいにenter/leave/signalとかが各所に散らばる面倒臭さもない
DispatchSemaphore使ってsyncDataTaskみたいなのextensionに書く例stackoverflowにあったけど
これでもいいけど他のtask使いたくなったとき、そのtaskのsyncバージョンをまた別に書かないといけないのが面倒臭い
http://stackoverflow.com/a/34308158
dispatchMainはexitの置き場所で困りそう
2つのtask待ち合わせるならどこにexit置くのと考えると問題を先送りしてるだけな気がする
func wait() {
while state == .running {
RunLoop.current.run(mode: .commonModes, before: .distantFuture)
}
}
}
let task = ...dataTask(...) { ... }
task.resume()
task.wait()
これならdownloadTaskとか他のtaskでも、上のextensionで1つで全部対応できていいと思う
task.wait()だけで済むから、DispatchGroupとかDispatchSemaphoreみたいにenter/leave/signalとかが各所に散らばる面倒臭さもない
DispatchSemaphore使ってsyncDataTaskみたいなのextensionに書く例stackoverflowにあったけど
これでもいいけど他のtask使いたくなったとき、そのtaskのsyncバージョンをまた別に書かないといけないのが面倒臭い
http://stackoverflow.com/a/34308158
dispatchMainはexitの置き場所で困りそう
2つのtask待ち合わせるならどこにexit置くのと考えると問題を先送りしてるだけな気がする
18デフォルトの名無しさん (ワッチョイ eb46-ykbm)
2017/02/20(月) 23:34:47.43ID:6K9wp/bS019デフォルトの名無しさん (ワッチョイ bbbd-ea4t)
2017/02/21(火) 07:58:47.31ID:eTJT09tJ0 dispatchMain
> Applications ... must not call dispatchMain()
RunLoop
> You should never try to call the methods of an RunLoop object running in a different thread
なんでリファレンスで危ないから使うなって言われてるものを優先して挙げるのか
DispatchWorkItemのサンプルはよ、一番これが「モダン」だと思う
> Applications ... must not call dispatchMain()
RunLoop
> You should never try to call the methods of an RunLoop object running in a different thread
なんでリファレンスで危ないから使うなって言われてるものを優先して挙げるのか
DispatchWorkItemのサンプルはよ、一番これが「モダン」だと思う
20デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/21(火) 08:14:40.71ID:3Vda5W860 >>19
次の3つのGlobal関数内では使ってはイケナイって書いてある。
今回はOK!
UIApplicationMain(_:_:_:_:) (iOS), NSApplicationMain(_:_:) (macOS), or CFRunLoopRun()
次の3つのGlobal関数内では使ってはイケナイって書いてある。
今回はOK!
UIApplicationMain(_:_:_:_:) (iOS), NSApplicationMain(_:_:) (macOS), or CFRunLoopRun()
21デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/21(火) 08:17:33.97ID:3Vda5W86022デフォルトの名無しさん (スップ Sd7f-MFap)
2017/02/21(火) 08:36:49.36ID:EuRy1Wt8d23デフォルトの名無しさん (アウアウエー Sa7f-ykbm)
2017/02/21(火) 08:42:18.14ID:4QHQyE1ya それが顔文字に見えるなら、お前そうとう病んでるよ
24デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/21(火) 08:47:28.88ID:3Vda5W86025デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/21(火) 08:49:53.12ID:3Vda5W860 セレクタを記述できないと、Notificationを扱う事ができないので、mustな!
26デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/21(火) 08:53:52.12ID:3Vda5W860 Overload resolver(メソッド多重定義解決)はセレクタ情報を手掛かりに、どのメソッドを呼び出すのか?解決する訳だ。
参照:C++ FAQ
参照:C++ FAQ
27デフォルトの名無しさん (エムゾネ FF7f-MFap)
2017/02/21(火) 08:59:24.03ID:arZsGKioF Objective-Cのときってもっとわかりやすい表記だったような
28デフォルトの名無しさん (ワッチョイ bbbd-ea4t)
2017/02/21(火) 09:23:38.61ID:eTJT09tJ0 ObjCの表記を覚えてない => ObjC使ってない
Swiftの表記を自然に読み取れない => Swift使ってない
うーん、このどうしようもない感
Swiftの表記を自然に読み取れない => Swift使ってない
うーん、このどうしようもない感
29デフォルトの名無しさん (フリッテル MMff-NqfV)
2017/02/21(火) 09:35:17.94ID:HF5TYBzbM swiftってiosアプリ書く以外であえて選んでるって人いるの?
30デフォルトの名無しさん (スプッッ Sd7f-PET2)
2017/02/21(火) 09:40:38.00ID:wDwSQYHdd macアプリ…
31デフォルトの名無しさん (スッップ Sd7f-yXFx)
2017/02/21(火) 12:37:07.59ID:01HI8sK+d >>29
IBM.........
IBM.........
32デフォルトの名無しさん (ササクッテロラ Sp9f-ykbm)
2017/02/21(火) 12:40:37.23ID:HroqGx6Ep >>29
SUZUKI.........
SUZUKI.........
33デフォルトの名無しさん (ブーイモ MM7f-v1tk)
2017/02/21(火) 13:29:54.58ID:h4Mc9UUPM >>19
current threadのrunloopインスタンスのmethodを呼び出しているのだからまったく問題ないだろ…
current threadのrunloopインスタンスのmethodを呼び出しているのだからまったく問題ないだろ…
34デフォルトの名無しさん (ワッチョイ 5fc9-fFgi)
2017/02/21(火) 16:29:44.15ID:m+/zu2/z035デフォルトの名無しさん (ササクッテロリ Sp9f-X9Uf)
2017/02/21(火) 16:47:25.83ID:IX256A9wp36デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/21(火) 18:04:35.19ID:aFqTV30T0 特に無限ループがダサいとは思わないけどな
少し低いレイヤーを意識したコードではあると思うけど
少し低いレイヤーを意識したコードではあると思うけど
37デフォルトの名無しさん (ワッチョイ 5f3c-Scgb)
2017/02/21(火) 18:08:20.55ID:aFqTV30T0 DispatchWorkItem版
if #availableはguard文だとコンパイル通らなかった‥
if #available(OSX 10.10, *) {
let queue = DispatchQueue(label: "queue", attributes: .concurrent)
let printTask = DispatchWorkItem { print("dic = ¥(dic)") }
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let jsonData = data {
printJSON(jsonData)
queue.async(execute: printTask)
}
}
task.resume()
printTask.wait()
exit(EXIT_SUCCESS)
} else {
print("require OSX10.10 or newer"); exit(EXIT_FAILURE);
}
if #availableはguard文だとコンパイル通らなかった‥
if #available(OSX 10.10, *) {
let queue = DispatchQueue(label: "queue", attributes: .concurrent)
let printTask = DispatchWorkItem { print("dic = ¥(dic)") }
let url = URL(string: "http://date.jsontest.com/")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let jsonData = data {
printJSON(jsonData)
queue.async(execute: printTask)
}
}
task.resume()
printTask.wait()
exit(EXIT_SUCCESS)
} else {
print("require OSX10.10 or newer"); exit(EXIT_FAILURE);
}
38デフォルトの名無しさん (ワッチョイ 5fc9-fFgi)
2017/02/21(火) 18:37:29.74ID:m+/zu2/z0 スクリプトモードでメインスレッドでメインキューを待つ方法と、URLSessionで同期的に実行する方法で問題をごっちゃにしてたな
>>5 の質問の本意がどっちにあるのかわからないけど、「スクリプトモードでメインスレッドでメインキューを待つ方法」ならRunLoopを回すのが正しい回答なはず
単純化すれば
DispatchQueue.main.async {
sleep(1)
print("Hello")
}
print("Done")
これでスクリプトモードでどうやって "Hello" を表示させるか
できれば"Hello"→"Done"の順序で
この場合DispatchSemaphore等ではwaitした時点でメインキューに入れた非同期タスクに永久にたどり着けないのでwaitで固まるので誤り
待ってるのも非同期タスクも両方メインだから
let sema = DispatchSemaphore(value: 0)
DispatchQueue.main.async {
sleep(1)
print("Hello")
sema.signal()
}
sema.wait()
print("Done")
>>5 の質問の本意がどっちにあるのかわからないけど、「スクリプトモードでメインスレッドでメインキューを待つ方法」ならRunLoopを回すのが正しい回答なはず
単純化すれば
DispatchQueue.main.async {
sleep(1)
print("Hello")
}
print("Done")
これでスクリプトモードでどうやって "Hello" を表示させるか
できれば"Hello"→"Done"の順序で
この場合DispatchSemaphore等ではwaitした時点でメインキューに入れた非同期タスクに永久にたどり着けないのでwaitで固まるので誤り
待ってるのも非同期タスクも両方メインだから
let sema = DispatchSemaphore(value: 0)
DispatchQueue.main.async {
sleep(1)
print("Hello")
sema.signal()
}
sema.wait()
print("Done")
39デフォルトの名無しさん (ササクッテロリ Sp9f-31xI)
2017/02/21(火) 19:10:04.95ID:IX256A9wp >>36
ttp://swift.sandbox.bluemix.net/#/repl/58ac0f8c861c326c636916bf
一般常識として無限ループの状態監視するやつは死ねと思う
SIGNALが使えないほどの低レイヤーでそれが必要だとしてもsleepは入れる
ループ中にsleep入れないなら死ぬし、sleep入れるなら本末転倒だよねー
ttp://swift.sandbox.bluemix.net/#/repl/58ac0f8c861c326c636916bf
一般常識として無限ループの状態監視するやつは死ねと思う
SIGNALが使えないほどの低レイヤーでそれが必要だとしてもsleepは入れる
ループ中にsleep入れないなら死ぬし、sleep入れるなら本末転倒だよねー
40デフォルトの名無しさん (ブーイモ MM7f-yXFx)
2017/02/21(火) 19:13:38.94ID:lTdRkQq/M ビジーループと無限ループをごっちゃにして死ねとかアホか
41デフォルトの名無しさん (ササクッテロリ Sp9f-X9Uf)
2017/02/21(火) 19:17:25.53ID:IX256A9wp いや、だからsleep入れろって言ってるだろw
42デフォルトの名無しさん (ワッチョイ 3b3c-eq+O)
2017/02/21(火) 20:44:27.44ID:5UhBXSO50 RunLoopのSwift実装読んだけど酷過ぎじゃね
returnAfterSourceHandledを強制trueにして
ブロッキングキューの利点ぶち壊すとか意味分からん
別実装で書いてみた
http://swift.sandbox.bluemix.net/#/repl/58ac26055d046936d91eba1c
returnAfterSourceHandledを強制trueにして
ブロッキングキューの利点ぶち壊すとか意味分からん
別実装で書いてみた
http://swift.sandbox.bluemix.net/#/repl/58ac26055d046936d91eba1c
43デフォルトの名無しさん (ワッチョイ 3b3c-eq+O)
2017/02/21(火) 21:21:46.46ID:5UhBXSO50 CFRunLoopRunInMode(,,false)がポンコツでなければ
キューが空の間はセマフォのwait等と同様に
待機状態になるはずでCPUは消費しない
キューが空の間はセマフォのwait等と同様に
待機状態になるはずでCPUは消費しない
44デフォルトの名無しさん (ワッチョイ 9fc0-31xI)
2017/02/21(火) 21:33:17.76ID:jelvKUPR0 PR出してみたら?コードがあるなら前スレのAffineTransformよりはマシなレビューが期待できそう
45デフォルトの名無しさん (ワッチョイ 3b3c-eq+O)
2017/02/21(火) 21:58:36.49ID:5UhBXSO50 出すとしたら
https://github.com/apple/swift-corelibs-foundation/blob/master/Foundation/NSRunLoop.swift#L149
> CFRunLoopRunInMode(modeArg, ti, true)
ここの第3引数も指定出来て,
CFRunLoopRunInModeの戻り値をenumに入れ替えて返す
runのオーバーロード追加を要求するくらいか
とはいえコンソール系でのテスト実行以外では
UIApplicationMain等に任せる所だし放置になるのでは
https://github.com/apple/swift-corelibs-foundation/blob/master/Foundation/NSRunLoop.swift#L149
> CFRunLoopRunInMode(modeArg, ti, true)
ここの第3引数も指定出来て,
CFRunLoopRunInModeの戻り値をenumに入れ替えて返す
runのオーバーロード追加を要求するくらいか
とはいえコンソール系でのテスト実行以外では
UIApplicationMain等に任せる所だし放置になるのでは
46デフォルトの名無しさん (ワッチョイ 9fc0-31xI)
2017/02/21(火) 22:21:50.16ID:jelvKUPR0 ならいらねーなw
47デフォルトの名無しさん (ワッチョイ eb46-ykbm)
2017/02/22(水) 08:12:05.22ID:l4ZVTbpn0 お疲れ様でした
48デフォルトの名無しさん (スッップ Sd7f-yXFx)
2017/02/22(水) 12:33:22.98ID:pE0UWB3Fd >>5
質問と直接関係ないけど
この文脈でのsleep()はc言語の、つまりPOSIX APIのsleep()が呼び出されると思うんだよな
無自覚にインラインCになっちゃうって、便利なのか?、危険なのか?
質問と直接関係ないけど
この文脈でのsleep()はc言語の、つまりPOSIX APIのsleep()が呼び出されると思うんだよな
無自覚にインラインCになっちゃうって、便利なのか?、危険なのか?
49デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/22(水) 12:36:17.73ID:XTvCwCCI050デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/22(水) 12:38:33.65ID:XTvCwCCI0 import class Foundation.Thread
RxSwiftのソース眺めてたら、見たことの無いimport文発見。
これに関してどっかに記述あるかなぁ?
RxSwiftのソース眺めてたら、見たことの無いimport文発見。
これに関してどっかに記述あるかなぁ?
51デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/22(水) 12:40:01.01ID:XTvCwCCI0 import class文を使えばコンパイル時間を短縮できたり、バイナリサイズを小さくできるのかな?
52デフォルトの名無しさん (ササクッテロリ Sp9f-31xI)
2017/02/22(水) 12:58:12.17ID:3150ESkMp import Foundation // 42500 byte
import Foundation.NSData // 42484 byte
import class Foundation.NSData // 42500 byte
let data = NSData()
swiftc -O でビルド、なんで減るんだよwww
ABI安定(予定)の4で変わるだろうし、あんま意味ないな
import Foundation.NSData // 42484 byte
import class Foundation.NSData // 42500 byte
let data = NSData()
swiftc -O でビルド、なんで減るんだよwww
ABI安定(予定)の4で変わるだろうし、あんま意味ないな
53デフォルトの名無しさん (JP 0H1f-vlft)
2017/02/22(水) 13:12:01.50ID:T1tKwjPzH 名前空間の汚染だけじゃないの
でも種別を明記するのは定義側がうっかり変更されたときにすぐ気づくためかな
でも種別を明記するのは定義側がうっかり変更されたときにすぐ気づくためかな
54デフォルトの名無しさん (ワッチョイ 5fc9-flZS)
2017/02/22(水) 14:14:24.74ID:IUFwtIZk0 ABI安定は延期されたけど
55デフォルトの名無しさん (ササクッテロリ Sp9f-31xI)
2017/02/22(水) 14:35:19.19ID:3150ESkMp Evolution/README読む限りだとSwift 4 Stage 1に入ってるぞ?MLでも特に上がってないよな
今更リスケしても気にしないけども
それはそれとして、Stage 2が切られてStage1/2にソース互換性ないよってのに笑った
もうSwift5としてリリースすればいいじゃんよ...
今更リスケしても気にしないけども
それはそれとして、Stage 2が切られてStage1/2にソース互換性ないよってのに笑った
もうSwift5としてリリースすればいいじゃんよ...
56デフォルトの名無しさん (ワッチョイ 8bc9-ykbm)
2017/02/22(水) 14:40:41.89ID:XTvCwCCI0 >>51
>import class
GRAMMAR OF AN IMPORT DECLARATION
import import kind module.symbol name
import module.submodule
ちゃんと書いてあるのね
>import class
GRAMMAR OF AN IMPORT DECLARATION
import import kind module.symbol name
import module.submodule
ちゃんと書いてあるのね
57デフォルトの名無しさん (アウアウエー Sa7f-ykbm)
2017/02/22(水) 14:52:08.92ID:atJ0ccfza お前ら、今日学校は休みなの?
58デフォルトの名無しさん (JP 0H1f-vlft)
2017/02/22(水) 16:12:50.34ID:T1tKwjPzH 春休みだよ
59デフォルトの名無しさん (ワッチョイ 8b5b-fFgi)
2017/02/22(水) 21:15:19.95ID:2Tf2dKVi060デフォルトの名無しさん (スップ Sd7f-6x/Q)
2017/02/22(水) 21:23:54.82ID:SjZ14kj8d >>59
カキコって何?
カキコって何?
61デフォルトの名無しさん (JP 0H1f-vlft)
2017/02/22(水) 21:28:38.28ID:T1tKwjPzH 夏期講習だよ
62デフォルトの名無しさん (ワッチョイ 5f30-eq+O)
2017/02/22(水) 21:29:18.39ID:FvFs5ugG0 生みの親が辞めた言語にしがみついてる人達のスレはここですか?
63デフォルトの名無しさん (JP 0H1f-vlft)
2017/02/22(水) 22:33:30.18ID:T1tKwjPzH あきらめたら試合終了だよ
64デフォルトの名無しさん (ササクッテロリ Sp9f-X9Uf)
2017/02/22(水) 22:34:36.26ID:3150ESkMp カキコって何年ぶりに見ただろうか
おっちゃん、ちょっと感慨深いぜ
おっちゃん、ちょっと感慨深いぜ
65デフォルトの名無しさん (ワッチョイ 3b3c-eq+O)
2017/02/22(水) 22:49:26.78ID:TTVI91Rf066デフォルトの名無しさん (ワッチョイ 2746-LZzl)
2017/02/23(木) 08:06:48.33ID:RSteN8D40 パピコはまだみる
67デフォルトの名無しさん (スプッッ Sd4a-N8zA)
2017/02/23(木) 08:18:54.84ID:ft7494bRd 初カキコ、ドモッ…
だっけ?
だっけ?
68デフォルトの名無しさん (ワッチョイ 533c-JtgB)
2017/02/23(木) 08:23:03.50ID:KoyZyoDT0 今はなんていうんだ?
送信ボタンを押してるとか言えばいいのか?
送信ボタンを押してるとか言えばいいのか?
69デフォルトの名無しさん (ワッチョイ fac0-Cmgt)
2017/02/23(木) 08:59:05.67ID:0TBdMr700 rustライクなメモリ管理は本気だったのか
https://github.com/apple/swift-evolution/blob/master/README.md
まだ正式なプロポーサル上がってないけど、Stage1でABIレベルで仕様入れて、Stage2で文法決定なんかね
https://github.com/apple/swift-evolution/blob/master/README.md
まだ正式なプロポーサル上がってないけど、Stage1でABIレベルで仕様入れて、Stage2で文法決定なんかね
70デフォルトの名無しさん (ワッチョイ ea32-sTLI)
2017/02/23(木) 10:46:16.10ID:ohiXm4Od071デフォルトの名無しさん (ササクッテロリ Sp23-Cmgt)
2017/02/23(木) 12:56:53.57ID:dRZrz+vDp shared_ptrを文法糖衣したARC同様に、unique_ptrを文法糖衣したナニカになる予感
それだけならアポーでも出来るだろうし、ObjCへのバックポートも可能だからアリだろ
それだけならアポーでも出来るだろうし、ObjCへのバックポートも可能だからアリだろ
72デフォルトの名無しさん (ブーイモ MMaa-RKLU)
2017/02/23(木) 22:43:45.10ID:YqEjQjyTM 何も書かなくて良いのに糖衣といえるのか
73デフォルトの名無しさん (ワッチョイ bfc9-LZzl)
2017/02/24(金) 09:25:16.26ID:/HtdY5ya0 >>70
Ted KremenekさんがRelease Managerやってるよ。Swift4の。
Ted KremenekさんがRelease Managerやってるよ。Swift4の。
74デフォルトの名無しさん (ワッチョイ 2746-LZzl)
2017/02/25(土) 07:58:58.53ID:5NvJoEP20 至高の言語Swiftはどこまでアップデートが続くのかな
至高中の至高に達するのはいつ?
至高中の至高に達するのはいつ?
75デフォルトの名無しさん (アウアウエー Sa82-LZzl)
2017/02/25(土) 10:16:39.25ID:A9nIMvuga すでに至高の域には達してるだろ
今は最後のピストン運動が激しくなって絶頂に向かってるところだ
今は最後のピストン運動が激しくなって絶頂に向かってるところだ
76デフォルトの名無しさん (ワッチョイ 8a3c-/RgJ)
2017/02/25(土) 12:16:56.70ID:xXEZYycv0 クリスだけ先に抜けちゃったけどな
77デフォルトの名無しさん (ササクッテロリ Sp23-Cmgt)
2017/02/25(土) 12:25:30.42ID:hUBRL+mAp 1年後?のSwift 4 Stage 2で言語仕様の破壊変更加えて
2年後のSwift5でコード下位互換を保証して
4年後のSwift6でコード下位互換をしつつ、文法のブラッシュアップしてようやく至高に至る
そこまでswiftコミュニティが死んでなければだけど、AppleとIBMは諦めろと思う
荒らしに来てる子たちはまだまだ遊べるよ、やったね
2年後のSwift5でコード下位互換を保証して
4年後のSwift6でコード下位互換をしつつ、文法のブラッシュアップしてようやく至高に至る
そこまでswiftコミュニティが死んでなければだけど、AppleとIBMは諦めろと思う
荒らしに来てる子たちはまだまだ遊べるよ、やったね
78デフォルトの名無しさん (ワッチョイ 6a93-LqKA)
2017/02/25(土) 13:12:00.62ID:vyst4/NK0 至高ってどっち向けに至高かで全然違うとは思うが、、、
FortranもCも進化をやめる気が無いのを見ると
いつまでも変化し続けるんだろうね、言語って
COBOLは知らん
c++はもはや俺には理解できない領域まで到達してるが
さらに進化を加速しようとしている
変化速度で至高を目指しているのか?
FortranもCも進化をやめる気が無いのを見ると
いつまでも変化し続けるんだろうね、言語って
COBOLは知らん
c++はもはや俺には理解できない領域まで到達してるが
さらに進化を加速しようとしている
変化速度で至高を目指しているのか?
79デフォルトの名無しさん (ササクッテロラ Sp23-LZzl)
2017/02/25(土) 13:15:45.72ID:9rgS5/VKp >>76
クリストスだけで先に逝っちゃったに空目した
クリストスだけで先に逝っちゃったに空目した
80デフォルトの名無しさん (ワッチョイ 7f5b-JtgB)
2017/02/26(日) 19:53:22.76ID:ywDEPWcp0 WWDC2017まであと3ヶ月ちょっとにまで迫って来た。
Swift3.1ももうそろそろXcode8.3と共に出荷かな!
Swift3.1ももうそろそろXcode8.3と共に出荷かな!
81デフォルトの名無しさん (ワッチョイ 0ac9-Cmgt)
2017/02/27(月) 07:56:29.46ID:JlIWpVbu0 Swift 4 Stage 1 すらWWDCには間に合いそうにないな
言語仕様の破壊はもう気にしてないから、betaやってた頃みたいに半年周期でリリースしてくれよなぁ
言語仕様の破壊はもう気にしてないから、betaやってた頃みたいに半年周期でリリースしてくれよなぁ
82デフォルトの名無しさん (ワッチョイ ea32-sTLI)
2017/02/27(月) 12:43:01.65ID:gJTX31H50 究極の言語たちとの戦いは続く……
83デフォルトの名無しさん (スププ Sdaa-LqKA)
2017/02/27(月) 22:04:34.17ID:S02AV9TBd 至高と究極と最強と最高と極限と元祖と本家で戦うんですね
84デフォルトの名無しさん (ササクッテロラ Sp23-LZzl)
2017/02/27(月) 22:24:59.63ID:duMjIsYep 自ら限界を定めてしまったらそこで発展は終わってしまうからな
85デフォルトの名無しさん (スプッッ Sd4a-tvpq)
2017/02/28(火) 12:37:12.05ID:+hx/19pVd 直感的な文法と安全性を兼ね備えたパーフェクト言語のスレはここですか
86デフォルトの名無しさん (スプッッ Sd4a-moPN)
2017/02/28(火) 12:39:25.27ID:rcWZYEudd クラスの配列のディープコピーのやり方を教えてちょんまげ。
助けて太い人っ!
助けて太い人っ!
87デフォルトの名無しさん (ササクッテロラ Sp23-LZzl)
2017/02/28(火) 13:13:31.25ID:KiqJd28Qp 敬虔にググりたまへ
さすれば汝に福音が齎されるであろう
アーメン
さすれば汝に福音が齎されるであろう
アーメン
88デフォルトの名無しさん (ワッチョイ bb7b-Cmgt)
2017/02/28(火) 14:31:53.07ID:ydx77xTP0 ここで文字列の扱いを議論してた荒らしがrustスレに行って暇になったなぁ
文法の固定されたrustより、文法があと5年は変わり続けることが約束されたswiftの方が面白いのに...
三項演算子とか{}ブロックとか、基礎的な文法はswiftならまだまだ変わりうるぜ?
文法の固定されたrustより、文法があと5年は変わり続けることが約束されたswiftの方が面白いのに...
三項演算子とか{}ブロックとか、基礎的な文法はswiftならまだまだ変わりうるぜ?
89デフォルトの名無しさん (スップ Sd4a-tvpq)
2017/02/28(火) 17:06:29.89ID:XVJCzCfXd さすが至高の言語swift
90デフォルトの名無しさん (ササクッテロリ Sp23-cghh)
2017/03/01(水) 08:24:41.29ID:8bxhIAJup91デフォルトの名無しさん (ワッチョイ 9f93-prdN)
2017/03/04(土) 06:31:40.70ID:kx5I/idI0 コードガールコレクションはまだか?
92デフォルトの名無しさん (ワッチョイ bb46-3Y4X)
2017/03/04(土) 07:14:04.97ID:WzJG/JYs0 超絶至高言語Swift
93デフォルトの名無しさん (アウアウオー Sabf-0QZk)
2017/03/05(日) 10:30:38.29ID:Nn8WRk/za var a = 0
var b = 0
var array = [a, b]
a = 1
array[0] ←これを1にしたい
array[1] = 10
b ←これを10にしたい
どうすればいい?
var b = 0
var array = [a, b]
a = 1
array[0] ←これを1にしたい
array[1] = 10
b ←これを10にしたい
どうすればいい?
94デフォルトの名無しさん (アウアウエー Sabf-pTz+)
2017/03/05(日) 10:33:08.38ID:4SdvbjFEa そんなことできる言語はないと思うけど
なんでそんなことしたいの?
なんでそんなことしたいの?
95デフォルトの名無しさん (スップ Sd3f-3Y4X)
2017/03/05(日) 10:49:38.94ID:oTFtJ+xbd >>93
ちょっと何言ってっかわかんないっすね
ちょっと何言ってっかわかんないっすね
96デフォルトの名無しさん (アウアウオー Sabf-0QZk)
2017/03/05(日) 11:01:41.19ID:Nn8WRk/za 複数のIntやCGFloat(クラスではない型)を、個別でアクセスと、配列化してインデックスでアクセスを出来るようにして、状況に応じて切り替えたいのです。C言語ならポインタの配列にすればよいのですが、Swiftでどうやるのかなと思いまして。
int a = 0;
int b = 0;
int *arr[2];
arr[0] = &a;
arr[1] = &b;
a = 1;
printf("%d¥n", *arr[0]); ←1が出る
*arr[1] = 10;
printf("%d¥n", b); ←10が出る
int a = 0;
int b = 0;
int *arr[2];
arr[0] = &a;
arr[1] = &b;
a = 1;
printf("%d¥n", *arr[0]); ←1が出る
*arr[1] = 10;
printf("%d¥n", b); ←10が出る
97デフォルトの名無しさん (アウアウエー Sabf-pTz+)
2017/03/05(日) 11:18:30.10ID:4SdvbjFEa なんだ、ポインター使いたいのか
UnsafeMutablePointer
とかググると使いかた出てくるよ
UnsafeMutablePointer
とかググると使いかた出てくるよ
98デフォルトの名無しさん (アウアウエー Sabf-pTz+)
2017/03/05(日) 11:21:57.99ID:4SdvbjFEa こんな感じで
typealias IntPointer = UnsafeMutablePointer<Int>
var a_ptr = IntPointer.allocate(capacity: 1)
var b_ptr = IntPointer.allocate(capacity: 1)
a_ptr.pointee = 0
b_ptr.pointee = 0
var array = [a_ptr, b_ptr]
a_ptr.pointee = 1
print(array[0].pointee) ←1が出る
array[1].pointee = 10
print(b_ptr.pointee) ← 10が出る
a_ptr.deallocate(capacity: 1)
b_ptr.deallocate(capacity: 1)
typealias IntPointer = UnsafeMutablePointer<Int>
var a_ptr = IntPointer.allocate(capacity: 1)
var b_ptr = IntPointer.allocate(capacity: 1)
a_ptr.pointee = 0
b_ptr.pointee = 0
var array = [a_ptr, b_ptr]
a_ptr.pointee = 1
print(array[0].pointee) ←1が出る
array[1].pointee = 10
print(b_ptr.pointee) ← 10が出る
a_ptr.deallocate(capacity: 1)
b_ptr.deallocate(capacity: 1)
99デフォルトの名無しさん (アウアウエー Sabf-pTz+)
2017/03/05(日) 11:28:57.98ID:4SdvbjFEa Alloc/Dealloc 使わないバターン
typealias IntPointer = UnsafeMutablePointer<Int>
var a = 0
var b = 0
var a_ptr = IntPointer(&a)
var b_ptr = IntPointer(&b)
var array = [a_ptr, b_ptr]
a_ptr.pointee = 1
print(array[0].pointee) ←1が出る
array[1].pointee = 10
print(b_ptr.pointee) ←10が出る
typealias IntPointer = UnsafeMutablePointer<Int>
var a = 0
var b = 0
var a_ptr = IntPointer(&a)
var b_ptr = IntPointer(&b)
var array = [a_ptr, b_ptr]
a_ptr.pointee = 1
print(array[0].pointee) ←1が出る
array[1].pointee = 10
print(b_ptr.pointee) ←10が出る
100デフォルトの名無しさん (アウアウオー Sabf-0QZk)
2017/03/05(日) 11:44:51.09ID:Nn8WRk/za ああ、>>99だと、ほぼそのまま置き換えできますね。ありがとうございます。
101デフォルトの名無しさん (アウアウオー Sabf-0QZk)
2017/03/05(日) 12:06:49.29ID:Nn8WRk/za pointeeを隠蔽してこうなりました。
struct IntPointerStruct {
var a_ptr: IntPointer
var b_ptr: IntPointer
subscript(index: Int) -> Int {
get {
switch index {
case 0: return a_ptr.pointee
case 1: return b_ptr.pointee
default: return 0
}}
set {
switch index {
case 0: a_ptr.pointee = newValue
case 1: b_ptr.pointee = newValue
default: break
}}}}
var a = 0
var b = 0
var array = IntPointerStruct(a_ptr: &a, b_ptr: &b)
a = 1
print(array[0]) ←1が出ます!!
array[1] = 10
print(b) ←10が出ます!!
これにするか >>99にするか、作りながら判断します。ありがとうございました。
struct IntPointerStruct {
var a_ptr: IntPointer
var b_ptr: IntPointer
subscript(index: Int) -> Int {
get {
switch index {
case 0: return a_ptr.pointee
case 1: return b_ptr.pointee
default: return 0
}}
set {
switch index {
case 0: a_ptr.pointee = newValue
case 1: b_ptr.pointee = newValue
default: break
}}}}
var a = 0
var b = 0
var array = IntPointerStruct(a_ptr: &a, b_ptr: &b)
a = 1
print(array[0]) ←1が出ます!!
array[1] = 10
print(b) ←10が出ます!!
これにするか >>99にするか、作りながら判断します。ありがとうございました。
102デフォルトの名無しさん (ワッチョイ bb46-pTz+)
2017/03/05(日) 12:16:18.70ID:EQCsqksH0103デフォルトの名無しさん (ワッチョイ 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使えばできるのか?と思いきや、失敗!
素晴らしい!
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使えばできるのか?と思いきや、失敗!
104デフォルトの名無しさん (ワッチョイ bb46-pTz+)
2017/03/05(日) 13:34:52.66ID:EQCsqksH0 Swift最高!!!!!!!!!
105デフォルトの名無しさん (ササクッテロラ Spef-NRhz)
2017/03/05(日) 13:55:13.01ID:Awv6PdXpp UnsafePointer周りの公開IFは2.0から3.0までですら二転三転したから信用して使わない方が良いぞ、多分また変わる
Xcodeの自動コンバートでサポートしきれない変更だったから毎度手間だった
その覚悟をもって遊ぶなら楽しいオモチャではある
すごく日曜プログラマ向け
Xcodeの自動コンバートでサポートしきれない変更だったから毎度手間だった
その覚悟をもって遊ぶなら楽しいオモチャではある
すごく日曜プログラマ向け
106デフォルトの名無しさん (スップ Sd3f-3Y4X)
2017/03/05(日) 14:19:22.96ID:xyCUFaW+d そもそもSwift自体が意識高い日曜プログラマー向けなんだから気にしない気にしない
107デフォルトの名無しさん (ワッチョイ 1f30-BJNc)
2017/03/05(日) 14:37:19.10ID:rxgD3rR00108デフォルトの名無しさん (アウアウエー Sabf-pTz+)
2017/03/05(日) 14:56:08.46ID:X99UGKjOa どの言語もメジャーバージョンアップ時には完全後方互換じゃない気がするが
ただ、頻度が少ないだけで
ただ、頻度が少ないだけで
109デフォルトの名無しさん (ワッチョイ 0fba-HqPE)
2017/03/05(日) 14:59:33.17ID:k0Z4Rrjg0 完全広報五感の縛りは進化を妨げる
ツールでコンバートさせるswiftとアプローチは正解
さすが至高の言語swich
ツールでコンバートさせるswiftとアプローチは正解
さすが至高の言語swich
110デフォルトの名無しさん (ササクッテロラ Spef-NRhz)
2017/03/05(日) 16:21:43.23ID:Awv6PdXpp はっはっは
マイナーバージョンアップで互換性を壊すのがswiftだ
そんじゃそこらの言語と一緒にして貰っちゃ困るぜ?
マイナーバージョンアップで互換性を壊すのがswiftだ
そんじゃそこらの言語と一緒にして貰っちゃ困るぜ?
111デフォルトの名無しさん (ワッチョイ 1f3c-dv7B)
2017/03/05(日) 17:00:49.02ID:f1XixyjT0 ExpressibleByIntegerLiteral使えばもうちょいシンプルにできる?
112デフォルトの名無しさん (ワッチョイ dbc9-zofg)
2017/03/05(日) 23:02:32.93ID:nindsAFW0 >>110
マイナンバーにみえた
マイナンバーにみえた
113デフォルトの名無しさん (スプッッ Sd3f-n2KM)
2017/03/06(月) 12:37:12.05ID:VBrHzi13d114デフォルトの名無しさん (ワッチョイ 0f42-m4jB)
2017/03/08(水) 00:11:43.50ID:WpsGt1AL0 正直Swift熱は若干冷めてきたように思う
サーバーサイドSwiftとかもちっと頑張ってくれんかなあ
サーバーサイドSwiftとかもちっと頑張ってくれんかなあ
115デフォルトの名無しさん (アウアウエー Sabf-pTz+)
2017/03/08(水) 00:19:58.38ID:QVjjY+1Na 今いちばんホットな言語は何ですか?
116デフォルトの名無しさん (ワッチョイ 0f2b-BKUO)
2017/03/08(水) 00:45:04.17ID:6Gp+/qzY0 2.0, 2.1くらいまではまだswiftが業務に利用できると騙された奴がいたけど、さすがにもう居ないから...
こんな不安定な言語とランタイム、信仰心/遊び心以外で使うのは無理だよ
5になってAPI, ABIが安定したら再燃することを祈ってる
>>115
swift
他の信仰言語は文法,API,ABI他諸々が下位互換を保証するフェーズにまで枯れて冷めてる
こんな不安定な言語とランタイム、信仰心/遊び心以外で使うのは無理だよ
5になってAPI, ABIが安定したら再燃することを祈ってる
>>115
swift
他の信仰言語は文法,API,ABI他諸々が下位互換を保証するフェーズにまで枯れて冷めてる
117デフォルトの名無しさん (ワッチョイ 0f2b-BKUO)
2017/03/08(水) 00:45:43.69ID:6Gp+/qzY0 typo. 信仰言語 => 新興言語
118デフォルトの名無しさん (ワッチョイ bb02-sWdU)
2017/03/08(水) 01:04:02.77ID:xBMafHxz0 え、間違ってないよ?
119デフォルトの名無しさん (ワッチョイ bb46-3Y4X)
2017/03/08(水) 01:09:29.16ID:tXLV2/vj0120デフォルトの名無しさん (ワッチョイ 8bba-HqPE)
2017/03/08(水) 01:17:04.53ID:Yw8lC4YB0 さすが究極幻想言語swift
121デフォルトの名無しさん (ワッチョイ 1f3c-LOQs)
2017/03/08(水) 10:45:59.40ID:mMaqGsPC0 ブームは確かに去り始めてる気はする。
けど言語はまったく枯れ初めていないっていう現実。
ところで今年のtryswiftはどうだったの?
相変わらずswiftと関係ない話題ばかりだった?
けど言語はまったく枯れ初めていないっていう現実。
ところで今年のtryswiftはどうだったの?
相変わらずswiftと関係ない話題ばかりだった?
122デフォルトの名無しさん (ワッチョイ dbc9-pTz+)
2017/03/08(水) 10:50:21.01ID:3oZRIdEd0 >>115
JavaScript 2017
JavaScript 2017
123デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
2017/03/08(水) 12:14:46.30ID:LioYldeQ0 >>115
Scala, Groovy をミックスした、Android用のJVM言語、Kotlin
Scala, Groovy をミックスした、Android用のJVM言語、Kotlin
124デフォルトの名無しさん (ワッチョイ eb3c-prdN)
2017/03/08(水) 14:36:25.82ID:CPYQaxWN0 3への移行がダルすぎる
みんなもうやったんだろうな、、
2、3と共に生きるわ
みんなもうやったんだろうな、、
2、3と共に生きるわ
125デフォルトの名無しさん (ワッチョイ dbc9-pTz+)
2017/03/08(水) 14:52:44.76ID:3oZRIdEd0 RxSwift3.20に付属のPlayground重すぎ。特にCombining_Operatorsが。
マシンパワーが不足なのか?特にCPU Power。メモリ搭載量(16GB)には問題無いみたいだが、IvyBridge世代のcore i5 2coreには辛いのか?
同じ感想の人入れば、レスお願いします。
マシンパワーが不足なのか?特にCPU Power。メモリ搭載量(16GB)には問題無いみたいだが、IvyBridge世代のcore i5 2coreには辛いのか?
同じ感想の人入れば、レスお願いします。
126デフォルトの名無しさん (ワッチョイ 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で動かせますか?
次のコードを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で動かせますか?
127デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/09(木) 11:27:22.08ID:pYIrqD7n0 ちなみにmacOSアプリ内でも動きました。
Playground内だけで動きません。ウェーン!
Playground内だけで動きません。ウェーン!
128デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/09(木) 12:31:55.48ID:x6aOWZGA0 >>126
import RxCocoaを追加すれば動いたよ
import RxCocoaを追加すれば動いたよ
129デフォルトの名無しさん (ワッチョイ 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を見つけてくれないです。
まじっすか?
Playground execution failed: error: MyPlayground2.playground:1:8: error: no such module 'RxCocoa'
import RxCocoa
当方では、moduleを見つけてくれないです。
130デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/09(木) 12:52:23.68ID:pYIrqD7n0 もしやRxCocoaをbuildしないといけないのか?もう一回!
131デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/09(木) 12:54:49.62ID:pYIrqD7n0 みなさん、あんがと!
bindToが動きました。
no such module when openning playground
でヒットしました。
bindToが動きました。
no such module when openning playground
でヒットしました。
132デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/09(木) 16:25:15.49ID:pYIrqD7n0 RxCocoa-iOSのbuild時間 46.837sec
でした。
結構、時間かかります。
でした。
結構、時間かかります。
133デフォルトの名無しさん (アウアウウー Sa93-Gk/B)
2017/03/12(日) 14:07:26.28ID:Zur4EQ5Na TIOBE IndexでSwiftが初のトップ10入り
https://developers.srad.jp/story/17/03/11/2027223/
https://developers.srad.jp/story/17/03/11/2027223/
134デフォルトの名無しさん (ワッチョイ f35b-aox5)
2017/03/12(日) 14:39:16.17ID:uNivVhq+0135デフォルトの名無しさん (ササクッテロル Sp57-WjpG)
2017/03/12(日) 14:44:12.31ID:VXGiwpO5p Swiftの敵は、Java、C++じゃなくて、Objective-Cだから
136デフォルトの名無しさん (ワッチョイ 723c-T4+7)
2017/03/12(日) 16:28:04.10ID:PM9jOmml0 っていうかObjective-Cを初めて上回ったっていうのが驚きだわ
感覚的にはObjective-Cはとうの昔に終わってて
もうみんなSwift使ってるとおもってたんだが
感覚的にはObjective-Cはとうの昔に終わってて
もうみんなSwift使ってるとおもってたんだが
137デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/12(日) 16:36:28.34ID:BRpGzvRUa ん?
記事には、「2015年12月にはObjective-Cを初めて上回り」
って書いてあるが
文盲かな
記事には、「2015年12月にはObjective-Cを初めて上回り」
って書いてあるが
文盲かな
138デフォルトの名無しさん (ワッチョイ fbce-WjpG)
2017/03/12(日) 16:44:20.65ID:8TfkE0k40 なぜSwiftを使うのか
それはApple様御用達だからである
つまり超絶至高言語であることが生まれながらにして確定している言語
後光なんかも射しちゃってるレベル
それはApple様御用達だからである
つまり超絶至高言語であることが生まれながらにして確定している言語
後光なんかも射しちゃってるレベル
139デフォルトの名無しさん (スップ Sd92-1frF)
2017/03/12(日) 16:52:43.56ID:l7eMy7Cnd ちょいちょい順位ネタ貼られるよね
そんなに「宣伝」しないといけないほどひどい言語なの?Swiftって
そんなに「宣伝」しないといけないほどひどい言語なの?Swiftって
140デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/12(日) 17:01:07.62ID:BRpGzvRUa 人に聞くんじゃねーよ
自分で考えろ
自分で考えろ
141デフォルトの名無しさん (スップ Sd92-1frF)
2017/03/12(日) 17:40:23.34ID:l7eMy7Cnd 申し訳ございませんでした
142デフォルトの名無しさん (ワッチョイ f35b-aox5)
2017/03/12(日) 19:52:14.06ID:uNivVhq+0 俺にとってはSwiftはRubyの皮を被ったC++
Generics標準ライブラリが充実してるのがGood。
文字列Stringが最初から標準ライブラリに入ってるのもoK.
Generics標準ライブラリが充実してるのがGood。
文字列Stringが最初から標準ライブラリに入ってるのもoK.
143デフォルトの名無しさん (ワッチョイ 32c9-aox5)
2017/03/12(日) 20:16:05.51ID:tiJBFb010 え、文字列がない言語とかあんの?
144デフォルトの名無しさん (ワッチョイ 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もある。
言い方悪かった。
文字列の扱いがStringに統一されているのが良さげ。
参考:Visual C++
char 型のナロー文字リテラル。たとえば 'a'
wchar_t 型のワイド文字リテラル。たとえば L'a'
char16_t 型のワイド文字リテラル。たとえば u'a'
char32_t 型のワイド文字リテラル。たとえば U'a'
もう、ワケワカメ!
このほかにもCStringとStd::Stringもある。
145デフォルトの名無しさん (ワッチョイ f73c-K8Mp)
2017/03/12(日) 21:04:17.82ID:ejYR6n6Q0 >>143
C言語
C言語
146デフォルトの名無しさん (ワッチョイ fbce-WjpG)
2017/03/12(日) 21:16:05.03ID:8TfkE0k40 C言語ってやっぱり高級感のバランスがいいと思うわ
で、その良さをそのままにオブジェクト指向を導入したObjective-Cは...
おっとここまでにしておかなくては
で、その良さをそのままにオブジェクト指向を導入したObjective-Cは...
おっとここまでにしておかなくては
147デフォルトの名無しさん (ワッチョイ 97bd-O+kf)
2017/03/12(日) 21:24:32.40ID:bJtMC+h00148デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/12(日) 21:51:36.28ID:T4N3k6YJ0149デフォルトの名無しさん (ワッチョイ f73c-2hGO)
2017/03/12(日) 23:08:30.79ID:yhlL05Nv0150デフォルトの名無しさん (ワッチョイ f3c9-2xLV)
2017/03/13(月) 03:24:20.32ID:A9v11X3F0 >>143
Erlang
Erlang
151デフォルトの名無しさん (ワッチョイ d2ed-lBbp)
2017/03/13(月) 06:01:28.93ID:hyVcDS3T0152デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/13(月) 08:37:47.51ID:W+gruSmy0 collection.map { ..... }
の書き方は
collection map {....}.
ってかくsmalltalkの書き方の真似だよ。
rubyでは{...}がオブジェクトじゃないからこうするんだけど
swiftは{...}がオブジェクトだけど関数の()が省略できないから
という理由でこうするのだろうね。
の書き方は
collection map {....}.
ってかくsmalltalkの書き方の真似だよ。
rubyでは{...}がオブジェクトじゃないからこうするんだけど
swiftは{...}がオブジェクトだけど関数の()が省略できないから
という理由でこうするのだろうね。
153デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/13(月) 08:46:31.00ID:W+gruSmy0 >>152をもしよむには、そこの間に:忘れたから各自補っておくように。
154デフォルトの名無しさん (アウアウウー Sa93-j8zu)
2017/03/13(月) 13:44:46.91ID:l2t9P+Aja >>152をもしよむには、Smalltalkのブロックが [ ] になってないからこれも各自脳内置換するように。
155デフォルトの名無しさん (ブーイモ MM92-4Oo7)
2017/03/13(月) 16:20:02.25ID:VusjWGEdM156デフォルトの名無しさん (ワッチョイ 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さんて素敵(棒
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さんて素敵(棒
157デフォルトの名無しさん (ササクッテロリ 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
だからSmalltalk系譜のObjCは最高!Swiftはクソ!!
っていう荒らしの流れでおk?
swiftがperlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrustとetc....に似てるって
swift betaが出た当初から言われてたのに「SwiftはRubyの皮を被ったC++ 」とかヘソで茶が沸くよね
あっちこっちの言語から文法パクってるのに自分が知ってるRubyだけしか注目できてないだけじゃねーかw
158デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/13(月) 21:02:12.46ID:W+gruSmy0 rubyの言いたいことはメソッドの定義をメソッドの使用する形で書けるようにするって
事で、
smalltalkの言いたいのはオブジェクトの定義をオブジェクトにメッセージを送る形で
書きたかったということだから発想は同じ。
例えばC言語だと定義はint f(){}の形だけど使うのはf()の形だから同じじゃないからね。
事で、
smalltalkの言いたいのはオブジェクトの定義をオブジェクトにメッセージを送る形で
書きたかったということだから発想は同じ。
例えばC言語だと定義はint f(){}の形だけど使うのはf()の形だから同じじゃないからね。
159デフォルトの名無しさん (ワッチョイ 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 だけじゃない)」といふ
意見が出てくれれば嬉しい限りですねえ
せっかくSwift と似ている言語として「perlとpyhtonとrubyとphpとjavaとc/c++とkotlinとgoとrust」を
挙げてくれたのだから、各言語ユーザが自分の知っている言語に注目して、似ている所をカキコすれば
いいのではないかと思われ
たとえば、もし仮に Swift で内包表記が採用されていたなら、
「Swift は Pythonから内包表記をパクった」と主張できるよね
あるいは「Swift の Tailing Closure と似ている言語は XXX がある(Ruby だけじゃない)」といふ
意見が出てくれれば嬉しい限りですねえ
160デフォルトの名無しさん (ワッチョイ 32c9-aox5)
2017/03/13(月) 21:48:14.79ID:4Ob213Q20 Haskellにも似てるらしいぞ
CPUの歓声が聞こえてくるところが
CPUの歓声が聞こえてくるところが
161デフォルトの名無しさん (ワッチョイ 07ba-fiD0)
2017/03/13(月) 21:54:10.12ID:rWhPvBOB0 golangに似てるところ上げてみろよw
162デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/13(月) 22:06:52.68ID:h57/U2+30 >>151
その程度の類似でRubyの皮を被ったとは言わんだろ
その程度の類似でRubyの皮を被ったとは言わんだろ
163デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
2017/03/13(月) 22:14:02.97ID:h57/U2+30164デフォルトの名無しさん (ササクッテロリ Sp57-O+kf)
2017/03/14(火) 06:26:59.13ID:oHQ/8mFsp >>161
defer文法パックったところ
defer文法パックったところ
165デフォルトの名無しさん (ワッチョイ f73c-jJqA)
2017/03/14(火) 16:49:31.85ID:+ZD30cPg0 他の言語の影響受けてるのは明言してるんだし
パクッてオリジナル主張してるわけじゃないから何に似てようが別に良くね
話の発端っぽい>>142も「俺にとっては」とあるから
単に当人が知ってる範囲内での感想だろう
パクッてオリジナル主張してるわけじゃないから何に似てようが別に良くね
話の発端っぽい>>142も「俺にとっては」とあるから
単に当人が知ってる範囲内での感想だろう
166デフォルトの名無しさん (ワッチョイ 97bd-O+kf)
2017/03/15(水) 04:07:35.03ID:Z1jXyE+K0 別に良いよ、Swiftの世間話として談笑してるだけだよー
SwiftはPythonから関数引数の順不同指定可をパクった
・・・が2.xのいつぞやのタイミングで仕様ドロップと相成って悲しい
確かにSwiftで使うメリット少なくて利用者いなかったかもしれんけど、わざわざ実装したのに勿体ない
SwiftはPythonから関数引数の順不同指定可をパクった
・・・が2.xのいつぞやのタイミングで仕様ドロップと相成って悲しい
確かにSwiftで使うメリット少なくて利用者いなかったかもしれんけど、わざわざ実装したのに勿体ない
167デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 10:07:37.18ID:WCbgXlGea Swiftは言語界の中国人ですね
168デフォルトの名無しさん (アウアウウー Sa93-j8zu)
2017/03/15(水) 11:14:37.72ID:qed+p8OGa >>166
名前付き引数の順不同化はSmalltalkのメッセージ式を見たら誰でも最初に思いつくアイデアだけど
似たようなObjective-Cのやり方を内部的に引きずっていたらきっと難しいだろうね
ちょっと試すくらいなら簡単だけど、すぐに破綻をきたす
名前付き引数の順不同化はSmalltalkのメッセージ式を見たら誰でも最初に思いつくアイデアだけど
似たようなObjective-Cのやり方を内部的に引きずっていたらきっと難しいだろうね
ちょっと試すくらいなら簡単だけど、すぐに破綻をきたす
169デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 13:53:38.07ID:62YvBKwJ0 >>165
話の発端「Rubyの皮」、の発言人です。
Pascal, Clang, Fortran, Lisp, Ruby, Visual Basic, C++を触ってきた経験からの
感想です。Rubyの皮を被ったC++ってのは。
Swiftはいろんな言語の影響を受けてる事が判りました。
今はJavaScriptを触りたいけど、時間が無い。
話の発端「Rubyの皮」、の発言人です。
Pascal, Clang, Fortran, Lisp, Ruby, Visual Basic, C++を触ってきた経験からの
感想です。Rubyの皮を被ったC++ってのは。
Swiftはいろんな言語の影響を受けてる事が判りました。
今はJavaScriptを触りたいけど、時間が無い。
170デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 14:09:22.47ID:MTxLUUdIa COBOLの経験のない奴には言語を語る資格はない
171デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 14:33:46.75ID:62YvBKwJ0 >>170
なぜでしょう?
なぜでしょう?
172デフォルトの名無しさん (ワッチョイ 131f-2xLV)
2017/03/15(水) 14:34:53.40ID:7YWEdixI0 >>169
javascriptはやめとけ
javascriptはやめとけ
173デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 14:39:23.26ID:MTxLUUdIa174デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 14:58:49.09ID:62YvBKwJ0 >>173
では、その大御所は現代のプログラミング言語にどの様な、影響を与えているのでしょうか?
では、その大御所は現代のプログラミング言語にどの様な、影響を与えているのでしょうか?
175デフォルトの名無しさん (アウアウエー Sa8a-WjpG)
2017/03/15(水) 15:20:22.31ID:MTxLUUdIa 影響というより、その冗長性と非モダンな特徴からくる反面教師としての側面の方が大きいかな
COBOLを知っていないと実感をもって指摘はできないだろうけど
COBOLを知っていないと実感をもって指摘はできないだろうけど
176デフォルトの名無しさん (ワッチョイ f73c-aox5)
2017/03/15(水) 16:05:11.06ID:xlyceK/o0 >>170
老害はシネy
老害はシネy
177デフォルトの名無しさん (ワッチョイ 33c9-WjpG)
2017/03/15(水) 17:00:38.28ID:62YvBKwJ0178デフォルトの名無しさん (ワッチョイ f73c-aox5)
2017/03/15(水) 17:21:51.12ID:xlyceK/o0 >>177
ボキャブラ天国とか見てた老害はs
ボキャブラ天国とか見てた老害はs
179デフォルトの名無しさん (スッップ Sd92-K8Mp)
2017/03/15(水) 18:31:39.28ID:tAf0WVvBd C言語系やっていてK&Rを知らないってどういう事?
180デフォルトの名無しさん (ワッチョイ 5232-C77W)
2017/03/15(水) 19:12:41.40ID:sBKf9EyJ0181デフォルトの名無しさん (ササクッテロロ Sp57-WjpG)
2017/03/15(水) 19:37:35.38ID:3Vn4G48fp スラスラは読めないけど、作者と大体のあらすじは知ってるわな
182デフォルトの名無しさん (スッップ Sd92-K8Mp)
2017/03/15(水) 21:02:45.81ID:tAf0WVvBd >>180
基礎の基礎だと
基礎の基礎だと
183デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 01:01:49.48ID:AMKOKIXm0 お前ら行書読めるの?スゲー
184デフォルトの名無しさん (ワッチョイ bf85-tpgq)
2017/03/16(木) 01:12:51.30ID:5p3YbdlX0 マシン語でもおぼえとけ
185デフォルトの名無しさん (ワッチョイ a3ba-yrln)
2017/03/16(木) 01:27:04.22ID:zhQm4U/K0 >>183
草書は無理だけど行書は読めるんでない?
草書は無理だけど行書は読めるんでない?
186デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 02:02:49.43ID:AMKOKIXm0 >>185
素で間違えた。それを言いたかった
でも、行書でも結局読めない
空海・風信帖
https://upload.wikimedia.org/wikipedia/commons/b/bf/Huushincho_1.jpg
最澄・久隔帖
https://upload.wikimedia.org/wikipedia/commons/e/e7/Shakuhai.jpg
素で間違えた。それを言いたかった
でも、行書でも結局読めない
空海・風信帖
https://upload.wikimedia.org/wikipedia/commons/b/bf/Huushincho_1.jpg
最澄・久隔帖
https://upload.wikimedia.org/wikipedia/commons/e/e7/Shakuhai.jpg
187デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 02:21:25.59ID:7dTItZGXa ところどころ読めるやろ
188デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 08:03:25.57ID:AMKOKIXm0 >>187
コンパイルエラー
コンパイルエラー
189デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/16(木) 09:05:27.04ID:/skZEy4/d ロードはできるけどコンパイルエラーするな
190デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 10:07:43.91ID:bRh67wE3a デバッグしろよ
191デフォルトの名無しさん (ササクッテロリ Sp97-td7u)
2017/03/16(木) 11:38:07.47ID:7qEFMeDJp 文法もわからんしAPI仕様書もない、ムリゲ
しかし、日本語の大御所で基礎の基礎だから読めないヤツは日本語を話る資格ないのか
これからは日本語でおkとか言えないな、、、
しかし、日本語の大御所で基礎の基礎だから読めないヤツは日本語を話る資格ないのか
これからは日本語でおkとか言えないな、、、
192デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 11:49:59.94ID:bRh67wE3a 神経質な奴だな
そんな落ち込むなよ
そんな落ち込むなよ
193デフォルトの名無しさん (スフッ Sddf-CJUg)
2017/03/16(木) 12:31:27.45ID:0Zav/vrEd コンパイラなんてそんなもんだよ
ソースが同じでもテキストフォーマット変わればコンパイル通らないし
同じ言語でも世代が違えばコンパイル出来なかったり動作が変わったりする
ソースが同じでもテキストフォーマット変わればコンパイル通らないし
同じ言語でも世代が違えばコンパイル出来なかったり動作が変わったりする
194デフォルトの名無しさん (ワッチョイ 03c9-JN/B)
2017/03/16(木) 12:36:14.54ID:68bWV4sz0 >>193
Ruby1.8, 1.9しか知らんのだけど、今時の2.4ってのは全然動作が違うのかね?
osx El CapにはRuby2.0搭載なので、極タマに使ってみて、あんまり変化の無い
事に安心してるんだが。
Ruby1.8, 1.9しか知らんのだけど、今時の2.4ってのは全然動作が違うのかね?
osx El CapにはRuby2.0搭載なので、極タマに使ってみて、あんまり変化の無い
事に安心してるんだが。
195デフォルトの名無しさん (スップ Sddf-8YZg)
2017/03/16(木) 12:40:19.13ID:fylU8k5ad >>191
「日本語でおkとか」の「とか」は、「日本語でおk」以外の何?
「日本語でおkとか」の「とか」は、「日本語でおk」以外の何?
196デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/16(木) 12:53:53.08ID:bRh67wE3a とか
1.
《副助》例をあげて並べるのに使う。 「A―B―の記号」
2.
《普通は下に「言う」「聞く」などを伴って》 《連語》内容が不確かであることを表す。 「橋沢―いう人」
>>191の場合は、「2.」の用例だろ
つまり、
「日本語でおk」だったか、「日本語でOK」だったか、「日本語でおっけー」だったか不確かだけど、そんな風な言い方
ってこと
1.
《副助》例をあげて並べるのに使う。 「A―B―の記号」
2.
《普通は下に「言う」「聞く」などを伴って》 《連語》内容が不確かであることを表す。 「橋沢―いう人」
>>191の場合は、「2.」の用例だろ
つまり、
「日本語でおk」だったか、「日本語でOK」だったか、「日本語でおっけー」だったか不確かだけど、そんな風な言い方
ってこと
197デフォルトの名無しさん (スップ Sddf-8YZg)
2017/03/16(木) 13:04:00.85ID:fylU8k5ad >>196
内容が不確かな事を書かれても、不確かなのだから、何を書きたいのか解らないよ。
内容が不確かな事を書かれても、不確かなのだから、何を書きたいのか解らないよ。
198デフォルトの名無しさん (ササクッテロロ Sp97-aZn0)
2017/03/16(木) 14:04:38.09ID:B/XDf7Uvp じゃあ、日本語でおk で
199デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/16(木) 19:08:04.75ID:AMKOKIXm0200デフォルトの名無しさん (スププ Sddf-CJUg)
2017/03/17(金) 09:04:36.10ID:CVisIQCrd201デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/17(金) 17:40:08.81ID:OpOSLOXG0 >>191のとかは不相応の程度を強める際の「なんて」と可換なニュアンスだろう
例 ハゲとか無理
例 ハゲとか無理
202デフォルトの名無しさん (スップ Sddf-KrGq)
2017/03/18(土) 01:27:16.65ID:6ina02vGd 日本語とかでおk
203デフォルトの名無しさん (ワッチョイ 53ba-nPNM)
2017/03/18(土) 02:26:45.14ID:6b/Lj0PJ0 必ずしも日本語じゃなくてOKってことね
よかった
よかった
204デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/18(土) 10:00:01.78ID:T7L2R5qRd とかに無理やり絡めると
省略あるいは不明確を示すとかはワイルドカードなんだと思う
とりあえず早い事perl like構文で使える正規表現をサポートしてほしい
Swiftのガッカリポイントの一つがまだ純正で正規表現が使えないというところだったから
省略あるいは不明確を示すとかはワイルドカードなんだと思う
とりあえず早い事perl like構文で使える正規表現をサポートしてほしい
Swiftのガッカリポイントの一つがまだ純正で正規表現が使えないというところだったから
205デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 10:52:24.54ID:h03j8lZL0 >>204
String#range(of:options:range:locale:)
options のところに .regularExpression を使えば、searchString で正規表現を利用した文字列(例えば “2ch+*" とか)が使えます。
String#range(of:options:range:locale:)
options のところに .regularExpression を使えば、searchString で正規表現を利用した文字列(例えば “2ch+*" とか)が使えます。
206デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 10:55:36.95ID:h03j8lZL0 typealias String.CompareOptions = NSString.CompareOptions
に注意ね。
に注意ね。
207デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/18(土) 11:50:49.28ID:T7L2R5qRd >>205
うん、しってるんだけどさぁ、これってNSStringにブリッジしてそっちのregex使ってるんじゃなかったっけ?
内部的にutf16になっちゃうので使いにくかった気がする
Swift2の頃の記憶だからSwift3では違うのかな?
Swiftではregex使わないようにしてたので、久しぶりに使ってみるかな?
それと、perlみたいにregexの結果をイテレートしてとか
そういう使い方したい
うん、しってるんだけどさぁ、これってNSStringにブリッジしてそっちのregex使ってるんじゃなかったっけ?
内部的にutf16になっちゃうので使いにくかった気がする
Swift2の頃の記憶だからSwift3では違うのかな?
Swiftではregex使わないようにしてたので、久しぶりに使ってみるかな?
それと、perlみたいにregexの結果をイテレートしてとか
そういう使い方したい
208デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 12:05:47.32ID:h03j8lZL0 import Foundation
let str: NSString = NSString(string: "Charlie Brown")
let a:NSRange = str.rangeOfString("Brown")
print(a.location)
print(a.length)
print(NSNotFound)
var ar: NSArray
do {
let reg: NSRegularExpression = try NSRegularExpression(pattern: "Brown",
options: NSRegularExpressionOptions.UseUnicodeWordBoundaries)
let str0 = str as String
let match: NSTextCheckingResult? = reg.firstMatchInString(str0,
options: NSMatchingOptions.ReportCompletion,
range: NSMakeRange(0, str.length))
print(match)
print(match!.range)
} catch {}
ちょいと前に保管したsnipet
let str: NSString = NSString(string: "Charlie Brown")
let a:NSRange = str.rangeOfString("Brown")
print(a.location)
print(a.length)
print(NSNotFound)
var ar: NSArray
do {
let reg: NSRegularExpression = try NSRegularExpression(pattern: "Brown",
options: NSRegularExpressionOptions.UseUnicodeWordBoundaries)
let str0 = str as String
let match: NSTextCheckingResult? = reg.firstMatchInString(str0,
options: NSMatchingOptions.ReportCompletion,
range: NSMakeRange(0, str.length))
print(match)
print(match!.range)
} catch {}
ちょいと前に保管したsnipet
209デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/18(土) 12:32:40.53ID:vKa31hq6d210デフォルトの名無しさん (ササクッテロリ Sp97-TYuy)
2017/03/18(土) 12:51:59.51ID:15tZ92u+p 少し前のDev MLで正規表現を言語仕様に組み込む話題があったような
あって困るものじゃないから入って欲しいね
あって困るものじゃないから入って欲しいね
211デフォルトの名無しさん (ワッチョイ bfc9-QFag)
2017/03/18(土) 12:54:59.80ID:XXqg+DqY0 議論はあったけど4には入らんと思う
> Addressing Regexps in Swift proper is out of scope for Swift 4, because
> there's simply no time to design and add the necessary language features.
> Addressing Regexps in Swift proper is out of scope for Swift 4, because
> there's simply no time to design and add the necessary language features.
212デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/18(土) 14:54:04.70ID:CoM5VADKa Obj-Cもそうだけど、Swiftで正規表現使おうとするたびに、使い方をググってるわ
Perlだとすぐに書けるんだけどな
Perlだとすぐに書けるんだけどな
213デフォルトの名無しさん (ワッチョイ bf3c-5NuA)
2017/03/18(土) 15:26:50.32ID:eyWXYpAT0 Swift 4が最終ステージに(白目)
https://www.infoq.com/jp/news/2017/03/swift-4-release-process
https://www.infoq.com/jp/news/2017/03/swift-4-release-process
214デフォルトの名無しさん (ワッチョイ bfc9-QFag)
2017/03/18(土) 15:51:30.64ID:XXqg+DqY0 日本語版InfoQはいつもネタが一ヶ月遅い
215デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 16:03:29.07ID:h03j8lZL0216デフォルトの名無しさん (ワッチョイ 3f93-CJUg)
2017/03/18(土) 16:33:29.93ID:L7+Dd5xH0 >>215
"A" for Application
"A" for Application
217デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/18(土) 17:10:49.00ID:61cBFpsD0 APIの派生
ソースレベル互換→バイナリレベル互換
ソースレベル互換→バイナリレベル互換
218デフォルトの名無しさん (ワッチョイ 3f93-CJUg)
2017/03/18(土) 18:08:39.34ID:L7+Dd5xH0 なかなかAPIとABIとシステムコールとライブラリとフレームワークという言葉ををきちんと分かった上で使い分けるのが難しいんだよね
うちの若手とか
>>213の文脈だと
以前からあるライブラリとかと再コンパイルしなくてもリンク出来る
ってのがABIレベルでの互換性だろうね
うちの若手とか
>>213の文脈だと
以前からあるライブラリとかと再コンパイルしなくてもリンク出来る
ってのがABIレベルでの互換性だろうね
219デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/18(土) 18:39:09.49ID:61cBFpsD0 システムコールは置いといていいでしょ
普通の開発者は直接的には使わないんだし
普通の開発者は直接的には使わないんだし
220デフォルトの名無しさん (ササクッテロリ Sp97-v7qi)
2017/03/18(土) 19:27:50.95ID:15tZ92u+p これと言ってることが微妙に違うのはInfoQの情報が古いのか、こっちの更新が遅れているのか
https://github.com/apple/swift-evolution/blob/master/README.md
はよABI安定させてlibSwift.soをiOS, macOSのシステムライブラリに保存してくれよなぁ
Swift 3でABI安定させるって理想だった頃はその構想だったのかもしれんが、ABI安定時期が不透明な今はもう諦めてるのかもしれん
https://github.com/apple/swift-evolution/blob/master/README.md
はよABI安定させてlibSwift.soをiOS, macOSのシステムライブラリに保存してくれよなぁ
Swift 3でABI安定させるって理想だった頃はその構想だったのかもしれんが、ABI安定時期が不透明な今はもう諦めてるのかもしれん
221デフォルトの名無しさん (ワッチョイ 3f93-CJUg)
2017/03/18(土) 20:06:24.89ID:L7+Dd5xH0 >>219
いやさ、printf()で済むところをwrite()とか、put()とか使いたがる人が居たりするんだよ
ライブラリ関数とシステムコールの違いが分かってないのよねん
説教したくなるのをグッとこらえて、システムコール使うと遅くなるしメンテナンスが大変になるんだよと言ってもなかなか納得してくれない
いやさ、printf()で済むところをwrite()とか、put()とか使いたがる人が居たりするんだよ
ライブラリ関数とシステムコールの違いが分かってないのよねん
説教したくなるのをグッとこらえて、システムコール使うと遅くなるしメンテナンスが大変になるんだよと言ってもなかなか納得してくれない
222デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/18(土) 20:38:16.85ID:GFFJDG7E0 Objective-Cでおk
以上。
おつでした。
以上。
おつでした。
223デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/18(土) 20:39:58.56ID:61cBFpsD0 >>221
printf()もシステムコール使ってるよ
write() put()はシステムコールでなくラッパー関数でライブラリの一部
遅いのはシステムコールやチェック処理の回数差でバッファリングに起因する
printf()もシステムコール使ってるよ
write() put()はシステムコールでなくラッパー関数でライブラリの一部
遅いのはシステムコールやチェック処理の回数差でバッファリングに起因する
224デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 22:12:10.15ID:h03j8lZL0 >>221
システムコールって遅いの?逆なんじゃない?
つまり、ライブラリ関数より早い。
だって、ライブラリ関数はシステムコールのラッパー関数なんでしょ?
俺、arc4random_uniformとか、atofとか使いまくってるんですけど。
システムコールって遅いの?逆なんじゃない?
つまり、ライブラリ関数より早い。
だって、ライブラリ関数はシステムコールのラッパー関数なんでしょ?
俺、arc4random_uniformとか、atofとか使いまくってるんですけど。
225デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/18(土) 22:21:36.55ID:h03j8lZL0 >>223
write()ってのは、何を指しているのでしょう?
ライブラリの一部というのだから、
FoundationライブラリString#write(to:)の事でしょうか?
なら、printfよりも遅いですよね。
put()はなんの事でしょうか?
write()ってのは、何を指しているのでしょう?
ライブラリの一部というのだから、
FoundationライブラリString#write(to:)の事でしょうか?
なら、printfよりも遅いですよね。
put()はなんの事でしょうか?
226デフォルトの名無しさん (ワッチョイ 133c-tpgq)
2017/03/18(土) 23:27:27.95ID:61cBFpsD0227デフォルトの名無しさん (ワッチョイ 133c-tpgq)
2017/03/18(土) 23:30:26.08ID:61cBFpsD0 長々書いたけど swiftdoc.org やAppleの開発ドキュメントを
見てたら多分支障無いから気にしなくていい
見てたら多分支障無いから気にしなくていい
228デフォルトの名無しさん (ワッチョイ 035b-8e1h)
2017/03/19(日) 00:02:51.00ID:X9SioAAy0 >>226
なるホドォ
なるホドォ
229デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/19(日) 00:11:01.40ID:WMiUvz/ea まさかこのスレにシステムコールのオーバーヘッドを気にするようなスピード狂がいたとは
230デフォルトの名無しさん (ワッチョイ cf7b-vzQh)
2017/03/19(日) 02:31:51.49ID:MM3vmS8Q0 1,000バイトの読み書きをするのに、1バイトずつ、
syscall * 1,000回すると遅いから、
ライブラリ内でバッファを確保(バッファリング)して、
1,000バイト貯まったタイミングで、syscallを1回だけ呼ぶと、速い
syscall * 1,000回すると遅いから、
ライブラリ内でバッファを確保(バッファリング)して、
1,000バイト貯まったタイミングで、syscallを1回だけ呼ぶと、速い
231デフォルトの名無しさん (ワッチョイ a33a-MtDv)
2017/03/19(日) 08:50:33.86ID:BHsM6TZ60 Dispatchの良いドキュメントってありますか?英語でもいいです。mpiのparallel forと同じようなことがしたいんですが、よくわからないので勉強したいので
232デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 09:06:36.45ID:X9SioAAy0 >>231
Apple Gudes and Sample Codeで探せば!
Concurrency Programming Guide
とかヒットするけど。
Dispatch Queues, Dispatch SourceのSectionを参照。
Apple Gudes and Sample Codeで探せば!
Concurrency Programming Guide
とかヒットするけど。
Dispatch Queues, Dispatch SourceのSectionを参照。
233デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/19(日) 09:46:45.92ID:QbTcqaOM0 システムコールのオーバーヘッドを気にするような人がSwiftのようなモダンな高級言語を
使うとは胸熱だな
速度をちゃんとコントロールしたいならObjective-Cじゃないと無理だろ...
使うとは胸熱だな
速度をちゃんとコントロールしたいならObjective-Cじゃないと無理だろ...
234デフォルトの名無しさん (ササクッテロリ Sp97-v7qi)
2017/03/19(日) 09:55:06.98ID:yi8Y0/pHp ObjCもlibobjc.soとかのランタイムを食わせないと動かないからダメだろ
Swiftよりはランタイム総容量は小さいけどObjCにもランタイム/ラッパー関数は必要なんだぜ?
システムコール呼び出すC関数呼ぶだけならSwiftでもできるから同じ土俵
Swiftよりはランタイム総容量は小さいけどObjCにもランタイム/ラッパー関数は必要なんだぜ?
システムコール呼び出すC関数呼ぶだけならSwiftでもできるから同じ土俵
235デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 10:08:01.66ID:X9SioAAy0 system callの呼び出し履歴を表示する、dtrussってコマンド見つけた。
trussのdetails版らしいけど、trussってなんの略だ?
trussのdetails版らしいけど、trussってなんの略だ?
236デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 10:10:39.12ID:X9SioAAy0 trussはmanのsection 1にあるはずなんだけど、documentが、ない。
なぜだ?
なぜだ?
237デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/19(日) 10:12:54.40ID:X9SioAAy0 truss = trace user signal and system callかな?
238デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/19(日) 10:35:19.35ID:QbTcqaOM0239デフォルトの名無しさん (ワッチョイ 532b-v7qi)
2017/03/19(日) 16:43:04.63ID:BRUWii050 文法はwithout Cだけど、機能はwith CのSwiftすごい!!
Modern Objective-Cとかいう微妙に時代遅れなモダン言語(笑)とは違うな
Modern Objective-Cとかいう微妙に時代遅れなモダン言語(笑)とは違うな
240デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/19(日) 17:04:16.85ID:QbTcqaOM0 Swift:「文法はwithout Cだけど、機能はwith CのSwiftすごい!!」
C:「それじゃあ結局のところSwiftは文法的な見た目をモダン()にしただけの言語ってことになっちまうじゃねぇか...」
Objective-C:「」
C:「それじゃあ結局のところSwiftは文法的な見た目をモダン()にしただけの言語ってことになっちまうじゃねぇか...」
Objective-C:「」
241デフォルトの名無しさん (JP 0H37-oEzJ)
2017/03/19(日) 17:13:15.07ID:zGHcaEctH juliaも忘れんとって
242デフォルトの名無しさん (ワッチョイ bf3c-5NuA)
2017/03/20(月) 10:21:19.90ID:QillsqV80 つまりインラインでC言語が書けるObjective-Cが最強ってことだな。
SwiftもC言語埋め込めるようにすれば最強になれるで。
SwiftもC言語埋め込めるようにすれば最強になれるで。
243デフォルトの名無しさん (ワッチョイ bfd4-pP+o)
2017/03/20(月) 11:09:21.86ID:KXLYvEOG0 じゃあ、swiftにObjective-Cを埋め込めれば、真の最強じゃね?
244デフォルトの名無しさん (ワッチョイ 53ba-nPNM)
2017/03/20(月) 11:21:56.39ID:XcCZvFx20 至高の言語Swiftにひざまづけ愚民ども
245デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/20(月) 11:38:00.54ID:9CFcUwN1d without Cにする必要性について
246デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/20(月) 11:42:15.65ID:0inF6e9Oa ソースが汚くなるから
王室に乞食を招き入れるわけにはいかんだろ
王室に乞食を招き入れるわけにはいかんだろ
247デフォルトの名無しさん (ワッチョイ 532b-v7qi)
2017/03/20(月) 11:42:37.51ID:IesYv4al0248デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/20(月) 11:42:54.31ID:9CFcUwN1d249デフォルトの名無しさん (スッップ Sddf-8YZg)
2017/03/20(月) 13:24:38.46ID:es7jdWbid 俺はObjective-Cで、かつ、省略しない方が好き。
Swiftは、なんか、いろいろ中途半端。
あと、省略可能なのは良いけれど、省略した時にどうなるかを、考えなさすぎ。
省略時の動作は、最終的にコンパイラの実装依存になる。
よってコンパイラが変われば、全く期待した動作にならない場合だってあるんだよ。
Swiftは、なんか、いろいろ中途半端。
あと、省略可能なのは良いけれど、省略した時にどうなるかを、考えなさすぎ。
省略時の動作は、最終的にコンパイラの実装依存になる。
よってコンパイラが変われば、全く期待した動作にならない場合だってあるんだよ。
250デフォルトの名無しさん (アウアウエー Sa1f-JN/B)
2017/03/20(月) 13:32:26.07ID:LSRu7fHya Swiftに、省略時の曖昧な動作なんてあったっけ?
251デフォルトの名無しさん (エムゾネ FFdf-CJUg)
2017/03/20(月) 13:39:46.35ID:MLqjE/IfF >>242
Swiftでも直接Cの関数呼べるけどなんか問題ある?
このスレでも少し前にdup2()呼ぶサンプル書いてる人いたよ
個人的には
"C":{}とかで囲んで明示する必要がいるくらいには敷居を上げておいて欲しかった
今だと普通に呼べすぎて、swiftの関数なのかCの関数なのか見分けがつかない
Swiftでも直接Cの関数呼べるけどなんか問題ある?
このスレでも少し前にdup2()呼ぶサンプル書いてる人いたよ
個人的には
"C":{}とかで囲んで明示する必要がいるくらいには敷居を上げておいて欲しかった
今だと普通に呼べすぎて、swiftの関数なのかCの関数なのか見分けがつかない
252デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/20(月) 14:21:57.88ID:EvEkzDYt0253デフォルトの名無しさん (ササクッテロロ Sp97-JN/B)
2017/03/20(月) 14:48:23.91ID:G0HPo1ICp 見分けがつかないからなんだってんだよ
254デフォルトの名無しさん (ワッチョイ 23ce-gIrG)
2017/03/20(月) 15:03:51.36ID:OmtBFJ4n0 Swiftってザ・意識高い系って感じの言語だな
C言語の関数呼べるようにする必要ないくらいじゃないと言語とは言えんし
C言語の関数呼べるようにする必要ないくらいじゃないと言語とは言えんし
255デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/20(月) 16:30:53.49ID:E6+3UOyx0 Bridging Headerもmodulemapも言語の機能じゃ無いよ
256デフォルトの名無しさん (ワッチョイ 23ce-JN/B)
2017/03/20(月) 17:05:35.61ID:OmtBFJ4n0 without Cを謳っておいてCの関数を呼び出す
仕組みを用意してるのって滑稽だねってだけだよ
仕組みを用意してるのって滑稽だねってだけだよ
257デフォルトの名無しさん (ササクッテロリ Sp97-TYuy)
2017/03/20(月) 17:06:20.49ID:fEdZO0mtp258デフォルトの名無しさん (ササクッテロロ Sp97-JN/B)
2017/03/20(月) 17:13:00.01ID:G0HPo1ICp without C を謳うのは建前
でもcが使えちゃうのは本音
日本人ならわかるだろ?
でもcが使えちゃうのは本音
日本人ならわかるだろ?
259デフォルトの名無しさん (ワッチョイ ef78-CJUg)
2017/03/20(月) 17:31:37.32ID:qt6rA4Ca0 >>254
Javaだけど呼んだ?
Javaだけど呼んだ?
260デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/20(月) 17:36:09.37ID:5DkpfNMbd gccがgasコードを吐くように、swiftもObjCコードを吐けばいいんじゃね?w
261デフォルトの名無しさん (ワッチョイ 035b-QFag)
2017/03/20(月) 17:43:37.75ID:EvEkzDYt0262デフォルトの名無しさん (ワッチョイ 532b-v7qi)
2017/03/21(火) 07:36:52.81ID:9HZnXlk90 gccがgasコードを吐くように、clang/swiftcがLLVM IRコードを吐く件
>>251
Swiftコード中に書くC, ObjC関数は、.swiftヘッダファイルに同名で再定義されたswift関数だから見分けつかない
Swiftフレームワークライブラリの中に入ってる.swiftヘッダ見るとC,ObjC,Swiftの全ての関数が同列に並んでてこんなことしてるのかよwwwって笑う
>>251
Swiftコード中に書くC, ObjC関数は、.swiftヘッダファイルに同名で再定義されたswift関数だから見分けつかない
Swiftフレームワークライブラリの中に入ってる.swiftヘッダ見るとC,ObjC,Swiftの全ての関数が同列に並んでてこんなことしてるのかよwwwって笑う
263デフォルトの名無しさん (ワッチョイ 3f74-CJUg)
2017/03/21(火) 07:41:09.49ID:JY9T0YVB0 JavaのJNIだとCを呼び出すための敷居が高すぎるんだよな
でもswiftだと敷居が低すぎる
なんてワガママな俺
でもswiftだと敷居が低すぎる
なんてワガママな俺
264デフォルトの名無しさん (スップ Sddf-gIrG)
2017/03/21(火) 07:54:24.70ID:nRmSmnIrd C言語の関数呼び出さないとやりたいこと出来ないわけ?
265デフォルトの名無しさん (ワッチョイ 532b-v7qi)
2017/03/21(火) 08:21:33.84ID:9HZnXlk90 やりたいことを出来ないんじゃなくて、>>238のように出来ることを煽りたいんだと思う
それが煽りになってるのか分からんけど
最初は(システムコールを扱う時に)SwiftだとObjCほど性能でないwwwって煽ろうと思ったら同レベルで引くに引けなくなった感じがする
単純にSwiftランタイムのばかでかさに依る性能劣化を煽ってればその通りなのにね
ランタイムのロードとか関数マップテーブルからのAPI検索とか、システムコールだと差分ないけど一般利用時に性能悪いのは必然だもの
それが煽りになってるのか分からんけど
最初は(システムコールを扱う時に)SwiftだとObjCほど性能でないwwwって煽ろうと思ったら同レベルで引くに引けなくなった感じがする
単純にSwiftランタイムのばかでかさに依る性能劣化を煽ってればその通りなのにね
ランタイムのロードとか関数マップテーブルからのAPI検索とか、システムコールだと差分ないけど一般利用時に性能悪いのは必然だもの
266デフォルトの名無しさん (エムゾネ FFdf-gIrG)
2017/03/21(火) 09:14:33.95ID:XLp7uPXRF Swiftでないとダメな5つの理由
とか誰か書いてよ
とか誰か書いてよ
267デフォルトの名無しさん (スップ Sddf-nPNM)
2017/03/21(火) 09:21:56.02ID:hTMAmD++d 1.学習コスト
2.生産性
3.スタイリッシュ性
4.流行
5.信仰心
2.生産性
3.スタイリッシュ性
4.流行
5.信仰心
268デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/21(火) 10:36:30.52ID:H55j2XV7d >>264
さあ?
あなたの作るプログラムで必要であれば必要だし
必要でないなら必要ない
うちの場合OpenCV使うのにC++ブリッジ使ってる
あと、無限ループで延々九九と答え吐き出すコンソールアプリ作っておいて
Ctrl+Cを押されたら「知るかボケ!忙しいんじゃ」と吐き出して、そのまま無限ループを続けるプログラムを作りたかったら
俺はSwiftだけで書く方法を知らないのでCの関数(と言うよりはPOSIX API)を呼び出す
どうして全部Swiftでできるようにしないのか?と言う問いに対しては
Javaプロジェクトが一つの答えだと思う
OSのAPI層までを言語と標準ライブラリに取り込もうとする意欲的な試みは
20年以上かけてある程度成功したが、柔軟性を失わせる副作用と言語の肥大化をもたらした
そしてJavaからCを呼び出す仕組みであるJNIは未だに必要とされている
全部をプログラミング言語に取り込むのではなく既存の仕組みとうまく連携するのがバランスの良いとの判断なんじゃないかな?
さあ?
あなたの作るプログラムで必要であれば必要だし
必要でないなら必要ない
うちの場合OpenCV使うのにC++ブリッジ使ってる
あと、無限ループで延々九九と答え吐き出すコンソールアプリ作っておいて
Ctrl+Cを押されたら「知るかボケ!忙しいんじゃ」と吐き出して、そのまま無限ループを続けるプログラムを作りたかったら
俺はSwiftだけで書く方法を知らないのでCの関数(と言うよりはPOSIX API)を呼び出す
どうして全部Swiftでできるようにしないのか?と言う問いに対しては
Javaプロジェクトが一つの答えだと思う
OSのAPI層までを言語と標準ライブラリに取り込もうとする意欲的な試みは
20年以上かけてある程度成功したが、柔軟性を失わせる副作用と言語の肥大化をもたらした
そしてJavaからCを呼び出す仕組みであるJNIは未だに必要とされている
全部をプログラミング言語に取り込むのではなく既存の仕組みとうまく連携するのがバランスの良いとの判断なんじゃないかな?
269デフォルトの名無しさん (スップ Sddf-nPNM)
2017/03/21(火) 10:46:19.71ID:MDnLMEwZd swiftは初めからjavaのようなマルチプラットフォームを目指しているわけでもあるまい
270デフォルトの名無しさん (スプッッ Sddf-pP+o)
2017/03/21(火) 11:08:08.11ID:CAHXK6Wdd Floatを引数にとる関数で、その引数の場所で(1+n)とかやると、
Binary operator '+' cannot be applied to two 'Int' operands
ってエラーが出て嵌った。
http://stackoverflow.com/questions/40557214/swift-operator-throwing-error-on-two-ints
エラーメッセージが不親切過ぎる。
Binary operator '+' cannot be applied to two 'Int' operands
ってエラーが出て嵌った。
http://stackoverflow.com/questions/40557214/swift-operator-throwing-error-on-two-ints
エラーメッセージが不親切過ぎる。
271デフォルトの名無しさん (スプッッ Sddf-pP+o)
2017/03/21(火) 11:11:47.89ID:CAHXK6Wdd 上のリンクでは
Binary operator '*' cannot be applied to two 'Int' operands. Expecting two 'CGFloat' operands.
ってエラーメッセージの方が良いと書いてるけど
Binary operator '* -> CGFloat' cannot be applied to two 'Int' operands. Expecting two 'CGFloat' operands.
だと、まだ分かりやすかったと思う。
Binary operator '*' cannot be applied to two 'Int' operands. Expecting two 'CGFloat' operands.
ってエラーメッセージの方が良いと書いてるけど
Binary operator '* -> CGFloat' cannot be applied to two 'Int' operands. Expecting two 'CGFloat' operands.
だと、まだ分かりやすかったと思う。
272デフォルトの名無しさん (ブーイモ MM77-nFTW)
2017/03/21(火) 11:20:38.39ID:g+RWoDDLM >>246
王とはCのことか
王とはCのことか
273デフォルトの名無しさん (スッップ Sddf-8YZg)
2017/03/21(火) 12:12:24.85ID:PXKTLJIMd >>266
「Swiftでないとダメな5つの理由とか」の「とか」は、「Swiftでないとダメな5つの理由」以外の何?
「Swiftでないとダメな5つの理由とか」の「とか」は、「Swiftでないとダメな5つの理由」以外の何?
274デフォルトの名無しさん (ササクッテロリ Sp97-TYuy)
2017/03/21(火) 12:13:48.48ID:1Za/GAk+p Objective-Cこそ王族の言語(信仰心
>>266
ダメな理由なら3つほど
1. 小さなランタイム(笑)
2. 頻繁に破壊される言語仕様
3. 不完全なエコシステム(ビルドツール)
これらはメリット/デメリットが双方あるものじゃなくデメリットしかないから煽ってもおk
この辺はswiftユーザはもう諦観して苦笑しながら使ってるデメリットだけども
>>266
ダメな理由なら3つほど
1. 小さなランタイム(笑)
2. 頻繁に破壊される言語仕様
3. 不完全なエコシステム(ビルドツール)
これらはメリット/デメリットが双方あるものじゃなくデメリットしかないから煽ってもおk
この辺はswiftユーザはもう諦観して苦笑しながら使ってるデメリットだけども
275デフォルトの名無しさん (ササクッテロリ Sp97-TYuy)
2017/03/21(火) 12:16:06.38ID:1Za/GAk+p >>273
「swiftがダメな3つの理由」とか
「swiftがダメな3つの理由」とか
276デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/21(火) 12:19:09.63ID:H55j2XV7d277デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/21(火) 12:37:34.87ID:H55j2XV7d >>269
うん、
マルチプラットホーム対応を言語レベルでは行わない選択をした=実行環境ネイティヴ(多くの場合はCで提供されている)とのインターフェースが必要
だと思ってる
without CなのにCが必要wwwって煽ってる人は
言語仕様とネイティヴインターフェースを混同しているおバカな自分をアピールしたいんしゃないかな?
うん、
マルチプラットホーム対応を言語レベルでは行わない選択をした=実行環境ネイティヴ(多くの場合はCで提供されている)とのインターフェースが必要
だと思ってる
without CなのにCが必要wwwって煽ってる人は
言語仕様とネイティヴインターフェースを混同しているおバカな自分をアピールしたいんしゃないかな?
278デフォルトの名無しさん (ワッチョイ 03f3-JN/B)
2017/03/21(火) 12:39:40.14ID:huV0U58I0279デフォルトの名無しさん (ワッチョイ 03f3-JN/B)
2017/03/21(火) 12:41:05.23ID:huV0U58I0280デフォルトの名無しさん (スップ Sddf-nPNM)
2017/03/21(火) 12:45:05.87ID:MDnLMEwZd >>278
動く、使える=swiftがswiftプラットフォームとしてマルチを目指しているではない
動く、使える=swiftがswiftプラットフォームとしてマルチを目指しているではない
281デフォルトの名無しさん (ササクッテロリ Sp97-TYuy)
2017/03/21(火) 12:52:34.12ID:1Za/GAk+p282デフォルトの名無しさん (ササクッテロロ Sp97-JN/B)
2017/03/21(火) 12:59:01.94ID:I3nNj3Lbp オプショナル型ちょ〜便利
型類推もちょ〜便利
文末にセミコロン不要なんてサイコー
letとvarの使い分けがありがたすぎ
switch文が強力すぎて鼻血でたー
enum構文がおいしすぎてよだれ出るぅ
Playgroundが便利すぎぃ
他にもまだまだたくさんよりどりみどりぃ
型類推もちょ〜便利
文末にセミコロン不要なんてサイコー
letとvarの使い分けがありがたすぎ
switch文が強力すぎて鼻血でたー
enum構文がおいしすぎてよだれ出るぅ
Playgroundが便利すぎぃ
他にもまだまだたくさんよりどりみどりぃ
283デフォルトの名無しさん (ワッチョイ 03f3-JN/B)
2017/03/21(火) 13:52:46.38ID:huV0U58I0284デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/21(火) 14:19:23.23ID:H55j2XV7d >>278
あ、ごめん、スレチかと思って説明しなかったんだけど、
Javaはバイナリレベルでのマルチプラットホームを旗印にしてたんだ
"Write Once Run Anywhere"をスローガンにして
つまり一度コンパイルして作成したアプリとかは、macでも、winでも、unixでも、携帯でも、再コンパイルすら必要なく同じ動作するよ!って
そのためにAPIやABIなど今までOSの役割だったところをJavaという仕組みの中に取り込んでいった
もちろん、そんなにうまくいくはずもなく"Write Once Debug Everywhere"と揶揄されることになった
それに対して伝統的なUnix系の考え方は、再コンパイルして動けばオッケー
動作が違う?OSとかの環境が違うんだから当然だよね、ソースでifdefしよう!
って感じのマルチプラットホーム
これですら、PosixやSUSとかの活動によるAPIや実行環境レベルでの統一化や
gnu automakeなどによる実行環境とビルド環境の調査とそれに対応したビルド
などでかろうじて維持されているレベル
C言語とかで書いたプログラムがmacでも、winでも、Linuxでも動くというのは
言語がマルチプラットホーム対応しているわけではなく、後者の意味でいろんなプラットホームで動くようにプログラムやビルドシステムを書いているから
Swiftも今の所後者に属してると思うよ
あ、ごめん、スレチかと思って説明しなかったんだけど、
Javaはバイナリレベルでのマルチプラットホームを旗印にしてたんだ
"Write Once Run Anywhere"をスローガンにして
つまり一度コンパイルして作成したアプリとかは、macでも、winでも、unixでも、携帯でも、再コンパイルすら必要なく同じ動作するよ!って
そのためにAPIやABIなど今までOSの役割だったところをJavaという仕組みの中に取り込んでいった
もちろん、そんなにうまくいくはずもなく"Write Once Debug Everywhere"と揶揄されることになった
それに対して伝統的なUnix系の考え方は、再コンパイルして動けばオッケー
動作が違う?OSとかの環境が違うんだから当然だよね、ソースでifdefしよう!
って感じのマルチプラットホーム
これですら、PosixやSUSとかの活動によるAPIや実行環境レベルでの統一化や
gnu automakeなどによる実行環境とビルド環境の調査とそれに対応したビルド
などでかろうじて維持されているレベル
C言語とかで書いたプログラムがmacでも、winでも、Linuxでも動くというのは
言語がマルチプラットホーム対応しているわけではなく、後者の意味でいろんなプラットホームで動くようにプログラムやビルドシステムを書いているから
Swiftも今の所後者に属してると思うよ
285デフォルトの名無しさん (ワッチョイ 032b-v7qi)
2017/03/21(火) 14:49:45.32ID:LQyko2ZP0 >>283
お前それプリミティブ型のintとfloatでも同じ事言えんの?
基本的な数値型をプリミティブ型として一般的に提供しないSwift
プリミティブ型ではなく構造体型で全数値型を提供する意義は分かるが性能劣化してるんだよなぁ
お前それプリミティブ型のintとfloatでも同じ事言えんの?
基本的な数値型をプリミティブ型として一般的に提供しないSwift
プリミティブ型ではなく構造体型で全数値型を提供する意義は分かるが性能劣化してるんだよなぁ
286デフォルトの名無しさん (ワッチョイ 03f3-JN/B)
2017/03/21(火) 14:49:46.32ID:huV0U58I0287デフォルトの名無しさん (ブーイモ MMdf-S3kY)
2017/03/21(火) 15:22:22.74ID:vtLrbY1LM なんでここCのシンタックスを外したことをwithout Cって言ってるのに
without CつったらCの機能が呼べないようにならないとおかしいだろ?
とかとんちんかんなこと言う奴しかいないのん?
ラトナーが草葉の陰から泣いてるぞ
without CつったらCの機能が呼べないようにならないとおかしいだろ?
とかとんちんかんなこと言う奴しかいないのん?
ラトナーが草葉の陰から泣いてるぞ
288デフォルトの名無しさん (ササクッテロラ Sp97-v7qi)
2017/03/21(火) 15:40:06.05ID:DXgiF4dPp 日本語でおk
289デフォルトの名無しさん (ワッチョイ 03f3-JN/B)
2017/03/21(火) 15:50:06.39ID:huV0U58I0 >>285
Swiftの高速演算に対する思想。高速演算必要ならClangで書いてね。Frameworkって仕組みを用意するから、Clangのソースをemmbed inしてね。って事なのだ。例:RxSwift/RxCocoa/Runtime
高速演算したけりゃ、その部分をClangで書いてSwiftから呼べば良い。
Swiftの高速演算に対する思想。高速演算必要ならClangで書いてね。Frameworkって仕組みを用意するから、Clangのソースをemmbed inしてね。って事なのだ。例:RxSwift/RxCocoa/Runtime
高速演算したけりゃ、その部分をClangで書いてSwiftから呼べば良い。
290デフォルトの名無しさん (ワッチョイ bff3-QFag)
2017/03/21(火) 16:06:44.92ID:p7k0dZ7/0 >>285
@_transparent付きで中でビルトインの変換呼んでるだけだからCやC++と比べても性能劣化なんて皆無だと思う
実際にIR見ても別に無駄にジャンプしたりしてない
素でsitofpとかしてるだけ
ナローイング変換はprecondition入るけどそれも最適化されるし
@_transparent付きで中でビルトインの変換呼んでるだけだからCやC++と比べても性能劣化なんて皆無だと思う
実際にIR見ても別に無駄にジャンプしたりしてない
素でsitofpとかしてるだけ
ナローイング変換はprecondition入るけどそれも最適化されるし
291デフォルトの名無しさん (スップ Sddf-nPNM)
2017/03/21(火) 16:27:53.04ID:MDnLMEwZd Clangっていうとコンパイラしか思い浮かばないんだが
292デフォルトの名無しさん (ササクッテロリ Sp97-v7qi)
2017/03/21(火) 17:51:22.44ID:pxhdVPhBp > Frameworkって仕組みを用意するから、Clangのソースをemmbed inしてね。って事なのだ。
Swift Package Managerがクソな完成度でSwift Framework LibraryにC言語のソースはembed inできないんだけど...
まぁそもそもアレはFramework Libraryを生成するコマンドとしても成り立ってないから論外なのかもしれんが
Swift公式として真っ当な技法を提供してなくて、バッドノウハウとしてRxSwiftやRxCocoaがやってることをやれってことなんだろうな(ウボァ
Swift Package Managerがクソな完成度でSwift Framework LibraryにC言語のソースはembed inできないんだけど...
まぁそもそもアレはFramework Libraryを生成するコマンドとしても成り立ってないから論外なのかもしれんが
Swift公式として真っ当な技法を提供してなくて、バッドノウハウとしてRxSwiftやRxCocoaがやってることをやれってことなんだろうな(ウボァ
293デフォルトの名無しさん (スッップ Sddf-8YZg)
2017/03/21(火) 18:48:58.62ID:PXKTLJIMd >>284
「一度コンパイルして作成したアプリとか」の「とか」は、「一度コンパイルして作成したアプリ」以外の何?
> macでも、winでも、unixでも、携帯でも
macはハードウェア
win、unixは、オペレーティングシステム
携帯は動詞
「C言語とか」の「とか」は、「C言語」以外の何?
「一度コンパイルして作成したアプリとか」の「とか」は、「一度コンパイルして作成したアプリ」以外の何?
> macでも、winでも、unixでも、携帯でも
macはハードウェア
win、unixは、オペレーティングシステム
携帯は動詞
「C言語とか」の「とか」は、「C言語」以外の何?
294デフォルトの名無しさん (ササクッテロロ Sp97-JN/B)
2017/03/21(火) 19:25:34.11ID:I3nNj3Lbp 一度コンパイルして作成したアプリとか
一度コンパイルして作成したアプレットとか
一度コンパイルして作成したサーブレットとか
C言語とか
C++とか
Pascalとか
一度コンパイルして作成したアプレットとか
一度コンパイルして作成したサーブレットとか
C言語とか
C++とか
Pascalとか
295デフォルトの名無しさん (ワッチョイ 133c-QFag)
2017/03/21(火) 19:42:18.10ID:jxZBoDQT0296デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/21(火) 19:59:01.53ID:H55j2XV7d >>293
この場合のとかの用法は明確に定義しないことを明示するための、、、、、、
とかではなくて、
説明しよう!(富山敬風)
ターゲットが特定のキーワードに高確率で定型のレスをつけることを利用して
ターゲットのレスを意図的に引き出そうとする
ドメイン特化キーワード、いわゆる釣りワードである
(↑これが言いたかっただけなのだ)
釣りとわかって付き合ってくれてありがとう
この場合のとかの用法は明確に定義しないことを明示するための、、、、、、
とかではなくて、
説明しよう!(富山敬風)
ターゲットが特定のキーワードに高確率で定型のレスをつけることを利用して
ターゲットのレスを意図的に引き出そうとする
ドメイン特化キーワード、いわゆる釣りワードである
(↑これが言いたかっただけなのだ)
釣りとわかって付き合ってくれてありがとう
297デフォルトの名無しさん (ブーイモ MMdf-nFTW)
2017/03/21(火) 20:48:23.31ID:2GTRnHWPM298デフォルトの名無しさん (スップ Sddf-nPNM)
2017/03/21(火) 20:59:06.98ID:MDnLMEwZd >>292
ゲロ吐く
ゲロ吐く
299デフォルトの名無しさん (ワッチョイ 0354-QFag)
2017/03/21(火) 21:05:21.27ID:/qkJhfYu0 >>295
アスペ好き
アスペ好き
300デフォルトの名無しさん (ワッチョイ a392-v7qi)
2017/03/21(火) 22:39:55.95ID:O0GOXggs0 アスペとかと遊ぶためのキーワードに爆釣(釣り糸タラー
>>290
結構冗長処理の差分があるけど、どんなオプションで吐いた?
% swiftc -S -O test.swift
--
import Foundation
func main() -> Int {
let a: CGFloat = 1
let b = Int(a)
return b
}
% test -S -O test.m
--
int main() {
float a = 1;
int b = a;
return b;
}
>>290
結構冗長処理の差分があるけど、どんなオプションで吐いた?
% swiftc -S -O test.swift
--
import Foundation
func main() -> Int {
let a: CGFloat = 1
let b = Int(a)
return b
}
% test -S -O test.m
--
int main() {
float a = 1;
int b = a;
return b;
}
301デフォルトの名無しさん (ワッチョイ a392-v7qi)
2017/03/21(火) 22:40:48.24ID:O0GOXggs0 スマン、後者のコマンド間違えた
% clang -S -O test.m
で読み替えて
% clang -S -O test.m
で読み替えて
302デフォルトの名無しさん (ワッチョイ bff3-QFag)
2017/03/22(水) 01:02:49.55ID:FLAiJ+iN0 >>300
当たり前だけどそのコードじゃ、どっちも意味のないaの行は消えて直接整数の1を置くだけのコードに最適化された
[swift]
func foo(f: Float) -> Int {
let i = Int(f)
return i
}
[c]
int foo(float f) {
int i = f
return i
}
これで見ればfloat→intの変換はどっちもcvttss2siの1ステップになった
Swiftの方は-Oだとcvttss2siの前にprecondition由来のコードが残るけど-Ouncheckedならそれも消えて完全にCと同じ
当たり前だけどそのコードじゃ、どっちも意味のないaの行は消えて直接整数の1を置くだけのコードに最適化された
[swift]
func foo(f: Float) -> Int {
let i = Int(f)
return i
}
[c]
int foo(float f) {
int i = f
return i
}
これで見ればfloat→intの変換はどっちもcvttss2siの1ステップになった
Swiftの方は-Oだとcvttss2siの前にprecondition由来のコードが残るけど-Ouncheckedならそれも消えて完全にCと同じ
303デフォルトの名無しさん (ワッチョイ 23bc-JN/B)
2017/03/22(水) 01:09:43.24ID:+9rAaXcc0 var i = Inf(f)
じゃないと
int i = f;
と等価じゃなくね?
んでもってCではセミコロンいるけどね
じゃないと
int i = f;
と等価じゃなくね?
んでもってCではセミコロンいるけどね
304デフォルトの名無しさん (ワッチョイ bff3-QFag)
2017/03/22(水) 01:15:25.70ID:FLAiJ+iN0305デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/22(水) 11:24:01.24ID:kq8u5G9J0 数値の型変換がイニシャライザなのは良いけど
情報欠落するケースかどうかが変換箇所のコードで分からないのは好きじゃない
Int32→Int64のような拡張でも暗黙変換しない方針を選んだのなら
逆に縮小をラベル付きにしてコードから判別出来るようにして欲しかった
Int32.init(_: Int16)
Int32.init(narrow: Int64) // init(_: Int64)
Int32.init(truncatingBitPattern: Int64)
例えばC#では拡張は暗黙変換、縮小は明示キャスト必須になっている
情報欠落するケースかどうかが変換箇所のコードで分からないのは好きじゃない
Int32→Int64のような拡張でも暗黙変換しない方針を選んだのなら
逆に縮小をラベル付きにしてコードから判別出来るようにして欲しかった
Int32.init(_: Int16)
Int32.init(narrow: Int64) // init(_: Int64)
Int32.init(truncatingBitPattern: Int64)
例えばC#では拡張は暗黙変換、縮小は明示キャスト必須になっている
306デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/22(水) 12:38:51.99ID:dwmeJil9d そうだよな、CでもC++でもSwiftでも
自信を持ってキャストできた試しがない
何が起こるキャストなのか詳細に分かると便利だね
自信を持ってキャストできた試しがない
何が起こるキャストなのか詳細に分かると便利だね
307デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/22(水) 12:43:22.27ID:dwmeJil9d >>282
こん中だとけっこう感動したのは
>switch文が強力すぎて鼻血でたー
これだな
複雑なif文の入れ子がかなりシンプルにできる
日常的に一番お世話になってるのはオプショナル型
ヌルポ踏むことが無くなったかな
こん中だとけっこう感動したのは
>switch文が強力すぎて鼻血でたー
これだな
複雑なif文の入れ子がかなりシンプルにできる
日常的に一番お世話になってるのはオプショナル型
ヌルポ踏むことが無くなったかな
308デフォルトの名無しさん (ワッチョイ 03f3-JN/B)
2017/03/22(水) 13:02:23.51ID:GcLM8SyP0309デフォルトの名無しさん (ワッチョイ 133c-jYbd)
2017/03/22(水) 14:23:57.53ID:kq8u5G9J0 >>308
得意かどうかや違うかどうかは関係無いよ
考慮された上での仕様かどうかという話
数値型の暗黙変換を無くしたことは前進だと見ている
しかしその結果、拡張変換の構文が縮小変換に追いついてしまい
非対称性による利点が失われてしまった
得意かどうかや違うかどうかは関係無いよ
考慮された上での仕様かどうかという話
数値型の暗黙変換を無くしたことは前進だと見ている
しかしその結果、拡張変換の構文が縮小変換に追いついてしまい
非対称性による利点が失われてしまった
310デフォルトの名無しさん (スッップ Sddf-CJUg)
2017/03/22(水) 15:23:52.69ID:dwmeJil9d >>308
まさにこれ
Perl風の正規表現サポート構文を全言語で採用しないなんて信じられない!
文字列処理なんてプログラミングの基本中の基本でしょ!
一文字ずつの処理をプログラマが書くなんてあり得ない!!
待ってるぜSwift5
まさにこれ
Perl風の正規表現サポート構文を全言語で採用しないなんて信じられない!
文字列処理なんてプログラミングの基本中の基本でしょ!
一文字ずつの処理をプログラマが書くなんてあり得ない!!
待ってるぜSwift5
311デフォルトの名無しさん (ササクッテロリ Spd3-Lcoi)
2017/03/23(木) 09:17:23.40ID:9ddE+onEp312デフォルトの名無しさん (スップ Sdea-6g7I)
2017/03/27(月) 13:39:55.07ID:9ObHSaYAd 型推論削除まだー?
313デフォルトの名無しさん (ワッチョイ 8a32-mQmu)
2017/03/27(月) 14:34:32.14ID:jJTT24eR0 >一文字ずつの処理をプログラマが書くなんてあり得ない!!
いや、じゃあ誰が書くんだおw
アプリプログラマ、だけな、それ言うの
あと、1文字ずつの処理「も」かける、というのが便利
とりあえず「デフォ」を便利にして欲しい
いや、じゃあ誰が書くんだおw
アプリプログラマ、だけな、それ言うの
あと、1文字ずつの処理「も」かける、というのが便利
とりあえず「デフォ」を便利にして欲しい
314デフォルトの名無しさん (ササクッテロラ Spd3-1VOV)
2017/03/27(月) 20:33:27.48ID:d0WItvzjp 勉強で単純なカメラアプリを作ってるんだけど、せっかくだからフレームとサイズだけはオリジナルにしたい
でもやり方がよく分からなくて困ってる
良ければ誰かヒントをくれないだろうか
でもやり方がよく分からなくて困ってる
良ければ誰かヒントをくれないだろうか
315デフォルトの名無しさん (ワッチョイ 433c-+Vyq)
2017/03/27(月) 20:57:49.35ID:MSHIb1n80 UIWindowクラスでググったら?
と思ったら、すぐ見つかった。
“UIImagePickerController cameraOverlayView”でググレカス
http://chicketen.blog.jp/archives/7404852.html
と思ったら、すぐ見つかった。
“UIImagePickerController cameraOverlayView”でググレカス
http://chicketen.blog.jp/archives/7404852.html
316デフォルトの名無しさん (スププ Sd4a-1VOV)
2017/03/28(火) 11:35:36.43ID:t5HIbgfEd >>313
>いや、じゃあ誰が書くんだおw
>アプリプログラマ、だけな、それ言うの
もちろん、カーネルプログラマや、ライブラリプログラマの皆さんの成果を美味しくいただけるという前提の話です。
アリガタヤ〜
なんか、入力が文字列だと、自分でプログラム組んで処理する以外の方法を思いつかない人が多くて困るのだ。
>いや、じゃあ誰が書くんだおw
>アプリプログラマ、だけな、それ言うの
もちろん、カーネルプログラマや、ライブラリプログラマの皆さんの成果を美味しくいただけるという前提の話です。
アリガタヤ〜
なんか、入力が文字列だと、自分でプログラム組んで処理する以外の方法を思いつかない人が多くて困るのだ。
317デフォルトの名無しさん (ササクッテロル Sp17-kVPK)
2017/03/30(木) 06:19:29.38ID:W8d4MsA8p318デフォルトの名無しさん (アウアウオー Sa1f-mlhd)
2017/03/30(木) 08:42:10.41ID:9khgRv1/a https://goo.gl/8by4rX
これは嫌だなー。。本当?
これは嫌だなー。。本当?
319デフォルトの名無しさん (ワッチョイ 83f3-c5kk)
2017/03/30(木) 13:01:15.79ID:9EoNq1220 guro
320デフォルトの名無しさん (ササクッテロリ Sp17-K8zl)
2017/04/01(土) 12:38:15.61ID:rvZpcbcFp let isFool = false
let YouAreFool = !(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!isFool))))))))))))))))))))))
今年のグーグルのエイプリルフールネタはイマイチだね
let YouAreFool = !(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!isFool))))))))))))))))))))))
今年のグーグルのエイプリルフールネタはイマイチだね
321デフォルトの名無しさん (アウアウエー Sa8a-qYl2)
2017/04/07(金) 23:27:50.08ID:A4pCb4U0a 過疎りすぎだろ
お前らやる気あんのか
let π = Double.pi
お前らやる気あんのか
let π = Double.pi
322デフォルトの名無しさん (ワッチョイ f354-TNox)
2017/04/08(土) 09:36:51.95ID:jKlH6mxl0323デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 09:37:52.65ID:FmwPLc4P0 そんなのに驚かれても...
とっくの昔にJavaでも動くけどな...
とっくの昔にJavaでも動くけどな...
324デフォルトの名無しさん (ワッチョイ f354-TNox)
2017/04/08(土) 10:33:14.51ID:jKlH6mxl0325デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 10:36:29.24ID:FmwPLc4P0326デフォルトの名無しさん (アウアウエー Sa8a-qYl2)
2017/04/08(土) 10:50:30.96ID:63G3fI6va Option + P でπが入力できることは当然知ってるよな?
327デフォルトの名無しさん (スプッッ Sdb2-YI5e)
2017/04/08(土) 11:15:21.87ID:zwbfOwFqd 知らねぇだろお前ら感がにじみ出すぎててイタい
328デフォルトの名無しさん (アウアウエー Sa8a-qYl2)
2017/04/08(土) 11:36:08.72ID:63G3fI6va なんだ知らなかったのか
1つ賢くなったな
1つ賢くなったな
329デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 12:01:07.48ID:FmwPLc4P0 聞いてもいないのにいきなり言い出して確かにイタいな
330デフォルトの名無しさん (ササクッテロラ Sp57-8GAO)
2017/04/08(土) 12:17:13.50ID:59elDVKip 急にJavaを比較対象として出して草
ObjCと比較しろやw
ObjCと比較しろやw
331デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 12:21:16.17ID:FmwPLc4P0 >>330
??
??
332デフォルトの名無しさん (ワッチョイ f354-TNox)
2017/04/08(土) 12:50:51.72ID:jKlH6mxl0333デフォルトの名無しさん (ワッチョイ f354-TNox)
2017/04/08(土) 12:53:01.39ID:jKlH6mxl0334デフォルトの名無しさん (ワッチョイ f73c-D6lx)
2017/04/08(土) 13:26:15.68ID:bcrLvy920 4マダァ?
335デフォルトの名無しさん (ササクッテロラ Sp57-8GAO)
2017/04/08(土) 13:33:22.85ID:59elDVKip iアプリやAndroidくらいしかやったことないと比較はJavaで適当だろうけど
動作OSとかランタイムの在り方とか言語文法の系譜とか違いすぎる
同じAppleOSで動いて、.soランタイムだけ要して、without C程度の系譜の同じ土俵で評価すべきじゃね
自分が知ってる言語って程度で比較に挙げるならC#でもGoでもRubyでもなんでもアリだからw
動作OSとかランタイムの在り方とか言語文法の系譜とか違いすぎる
同じAppleOSで動いて、.soランタイムだけ要して、without C程度の系譜の同じ土俵で評価すべきじゃね
自分が知ってる言語って程度で比較に挙げるならC#でもGoでもRubyでもなんでもアリだからw
336デフォルトの名無しさん (ワッチョイ f73c-D6lx)
2017/04/08(土) 14:39:02.66ID:bcrLvy920 非ASCII識別子のネタなんて何の言語引き合いに出しても別に問題ないっしょ
337デフォルトの名無しさん (ワッチョイ 32f3-qYl2)
2017/04/08(土) 16:52:22.92ID:EanGPAz+0 おっπ
338デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 17:04:27.68ID:FmwPLc4P0 はい
339デフォルトの名無しさん (ワッチョイ 32f3-qYl2)
2017/04/09(日) 16:19:12.39ID:dBjEGHWC0 揉ませろ
340デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/13(木) 16:26:07.95ID:P0VwbMdt0 メモリー管理方式取り入れるってニュース見かけたんだけど
Swiftまた互換性無くなるんか?
Swiftまた互換性無くなるんか?
341デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/13(木) 16:43:28.23ID:0o/hjfdWp342デフォルトの名無しさん (アウアウオー Sabf-vZSP)
2017/04/13(木) 16:50:05.36ID:JlstuCPca 「タイム互換」短すぎやでほんま
タイム互換いいたいだけやけどな
タイム互換いいたいだけやけどな
343デフォルトの名無しさん (アウアウエー Sabf-vZSP)
2017/04/13(木) 16:58:45.96ID:Z4M4iBLva _ __
/ \ / \
/ \ / \
/ / ̄ ̄\ \ / / ̄ ̄ ̄\__\
// ̄ / ̄| ̄ | ̄`くヽ__/> | \
 ̄ `ー'`ー'`ー'/刧凵R  ̄ ̄
| | / 、/⌒ヽ,ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | 〇 O) | < ブタモ オダテリャ キニノボル。。。
| __|_> ̄ ̄ ̄く \___________
| (___ノ |
| __|_|_ /e
| (___ノ、___/
| |
| |
| |
| |
| |
| |
/ \ / \
/ \ / \
/ / ̄ ̄\ \ / / ̄ ̄ ̄\__\
// ̄ / ̄| ̄ | ̄`くヽ__/> | \
 ̄ `ー'`ー'`ー'/刧凵R  ̄ ̄
| | / 、/⌒ヽ,ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | 〇 O) | < ブタモ オダテリャ キニノボル。。。
| __|_> ̄ ̄ ̄く \___________
| (___ノ |
| __|_|_ /e
| (___ノ、___/
| |
| |
| |
| |
| |
| |
344デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/13(木) 17:49:06.53ID:P0VwbMdt0 見つけた。つい最近のやつ
swiftメモリオーナシップのマニフェストが公開
https://www.infoq.com/jp/news/2017/04/swift-memory-ownership-model
swiftメモリオーナシップのマニフェストが公開
https://www.infoq.com/jp/news/2017/04/swift-memory-ownership-model
345デフォルトの名無しさん (アウアウエー Sabf-vZSP)
2017/04/13(木) 17:53:40.70ID:Z4M4iBLva オナニストに空目した
346デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/13(木) 18:33:03.91ID:WsZTJ2Pb0 またInfoQは2ヶ月前の話を今更ニュースにして
今日の本当の界隈ニュースはABI Dashboardがやっと公開されたこと
今日の本当の界隈ニュースはABI Dashboardがやっと公開されたこと
347デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/13(木) 20:46:27.09ID:gaxJh+J40348デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/13(木) 21:43:29.30ID:0o/hjfdWp 結局、C++11 unique_ptrの文法ラップなのかな
ObjCでも使えるなら使いたいから頼むよー
ObjCでも使えるなら使いたいから頼むよー
349デフォルトの名無しさん (ワッチョイ 4b3c-HE/W)
2017/04/14(金) 00:10:47.26ID:CJipXrOe0 Rust inspiredとのことだからunique_ptrなんてレベルじゃない
ライフタイムかそれに類するものを導入する気だろう
ライフタイムかそれに類するものを導入する気だろう
350デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/17(月) 11:21:13.44ID:rZd85UOy0 Swift4で何がかわりそうなのか
ttp://qiita.com/d_date/items/b3562f542afc306791ce
ttp://qiita.com/d_date/items/b3562f542afc306791ce
351デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/17(月) 11:34:40.27ID:H6wmE3lW0 SE-0110
Swift3.1
let fn1: (Int, Int) -> Void = { x in
// some procedure
}
Swift4
let fn1: ((Int, Int)) -> Void = { x in
// some procedure
}
Intを要素とするtupleを引数に取るclosureの記述方法が、変わるらしい。
(Int, Int)型引数は、((Int, Int))としてx.0, x.1って感じでアクセスする。ってこった。
Swift3.1
let fn1: (Int, Int) -> Void = { x in
// some procedure
}
Swift4
let fn1: ((Int, Int)) -> Void = { x in
// some procedure
}
Intを要素とするtupleを引数に取るclosureの記述方法が、変わるらしい。
(Int, Int)型引数は、((Int, Int))としてx.0, x.1って感じでアクセスする。ってこった。
352デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/17(月) 11:41:37.59ID:H6wmE3lW0 func curry<A, B, C>(_ f: @escaping (A, B) -> C) -> (A) -> (B) -> C {
return { x in
{ y in f(x, y) }
}
}
この関数の読み方が判らん!
戻り値が
(A) -> (B) -> C
って事は、
1. A型の引数を受け取り、(B) -> Cなるclosureを返すclosureが戻り値
2. (A) -> (B)なるclosureを受け取りC型を返すclosureが戻り値
どっちだ?
return { x in
{ y in f(x, y) }
}
}
この関数の読み方が判らん!
戻り値が
(A) -> (B) -> C
って事は、
1. A型の引数を受け取り、(B) -> Cなるclosureを返すclosureが戻り値
2. (A) -> (B)なるclosureを受け取りC型を返すclosureが戻り値
どっちだ?
353デフォルトの名無しさん (スプッッ Sd3f-IVUN)
2017/04/17(月) 12:20:26.64ID:vkFfzl9Jd354デフォルトの名無しさん (ワッチョイ fbf9-kKgC)
2017/04/17(月) 16:19:08.73ID:3GD20cJp0 >>352
1の方だね
1の方だね
355デフォルトの名無しさん (ワッチョイ eb92-D+C1)
2017/04/17(月) 17:25:42.88ID:D/VW2xRY0 もういい加減にしてほしいな
言語ヲタが「ボクチンが考えた最高の言語」遊びしてるようにしか見えない
言語ヲタが「ボクチンが考えた最高の言語」遊びしてるようにしか見えない
356デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/17(月) 18:59:19.87ID:nd1F7ywi0 批判なら具体的に
でなければアンチスレへ
でなければアンチスレへ
357デフォルトの名無しさん (アウアウオー Sabf-vZSP)
2017/04/17(月) 19:03:02.31ID:kDXw+CZ7a ->が出てきたらその時点で->より前が引数、->より後ろが戻り値
358デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/17(月) 20:39:28.09ID:oD+wMWyY0359デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/17(月) 20:40:25.07ID:oD+wMWyY0360デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/17(月) 20:46:01.79ID:lXU86btga ヒマなんですね
361デフォルトの名無しさん (エムゾネ FF3f-IVUN)
2017/04/17(月) 21:24:11.38ID:6RZC9xguF >>354
まあ、curry化ってそういうものだしね
まあ、curry化ってそういうものだしね
362デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/17(月) 21:25:12.82ID:lXU86btga インド人もびっくりだよね
363デフォルトの名無しさん (ワッチョイ 4b3c-5IwN)
2017/04/17(月) 22:47:26.87ID:+gxNPbQK0364デフォルトの名無しさん (ワッチョイ 3b0f-n2Cn)
2017/04/17(月) 23:10:09.48ID:/M+7HM4c0 >>350
いいからさっさと++、--、for(;;)を復活させろ
いいからさっさと++、--、for(;;)を復活させろ
365デフォルトの名無しさん (ワッチョイ 3b0f-n2Cn)
2017/04/17(月) 23:10:51.44ID:/M+7HM4c0366デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/18(火) 00:02:25.56ID:xQgWcwpBp >>355は4で破壊変更あることを今更知ったnewbieじゃないかな
破壊しないswiftなんてswiftじゃないと思って使ってるけど、3で安定したと思っちゃった子はそこそこいそう
破壊しないswiftなんてswiftじゃないと思って使ってるけど、3で安定したと思っちゃった子はそこそこいそう
367デフォルトの名無しさん (ワッチョイ 3b0f-bNqD)
2017/04/18(火) 00:31:05.68ID:nxzSbT3m0 >>355
こんなぶれぶれの独善言語についてってる奴の気が知れんわ
こんなぶれぶれの独善言語についてってる奴の気が知れんわ
368デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/18(火) 00:36:29.63ID:84Yej/faa そんな言語のスレをヲチしてるお前もなー
369デフォルトの名無しさん (ワッチョイ fbf9-kKgC)
2017/04/18(火) 10:13:46.23ID:GdlQD+8N0 型表記中の「->」は右結合ってことでいいんだよね?
370デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/18(火) 12:14:40.44ID:Q87oUFLG0 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Types.html#//apple_ref/swift/grammar/function-type
If a function type includes more than a single arrow (->), the function types are grouped from right to left.
For example, the function type (Int) -> (Int) -> Int is understood as (Int) -> ((Int) -> Int)
―that is, a function that takes an Int and returns another function that takes and returns an Int.
引数は必ず()で囲まないといけないから、もし ((Int) -> (Int)) -> Int なら前半の()が必須
そういう意味でも (Int) -> ((Int) -> Int) としか解釈できない
If a function type includes more than a single arrow (->), the function types are grouped from right to left.
For example, the function type (Int) -> (Int) -> Int is understood as (Int) -> ((Int) -> Int)
―that is, a function that takes an Int and returns another function that takes and returns an Int.
引数は必ず()で囲まないといけないから、もし ((Int) -> (Int)) -> Int なら前半の()が必須
そういう意味でも (Int) -> ((Int) -> Int) としか解釈できない
371デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/18(火) 12:45:37.54ID:3Ay0w4VK0 >>370
THX
原則は、
1. 引数は()で囲む。囲まないと、error: require parentheses
2. 右から左方向へグループ化
例:
(S) -> (T) -> (U)
は
(S) -> ((T) -> (U))
と解釈される。
THX
原則は、
1. 引数は()で囲む。囲まないと、error: require parentheses
2. 右から左方向へグループ化
例:
(S) -> (T) -> (U)
は
(S) -> ((T) -> (U))
と解釈される。
372デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/18(火) 12:47:38.45ID:3Ay0w4VK0 Reactive.itemsメソッドがこんな感じ
public func items<S: Sequence, Cell: UICollectionViewCell, O : ObservableType>
(cellIdentifier: String, cellType: Cell.Type = Cell.self)
-> (_ source: O)
-> (_ configureCell: @escaping (Int, S.Iterator.Element, Cell) -> Void)
-> Disposable where O.E == S {
以下略
public func items<S: Sequence, Cell: UICollectionViewCell, O : ObservableType>
(cellIdentifier: String, cellType: Cell.Type = Cell.self)
-> (_ source: O)
-> (_ configureCell: @escaping (Int, S.Iterator.Element, Cell) -> Void)
-> Disposable where O.E == S {
以下略
373デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/18(火) 13:01:42.04ID:XspPM/3op 右から左方向が優先度高いのか
左から右に流してるイメージで逆方向のがしっくりくるが
関数型の思想としてそういうものだっけかな
左から右に流してるイメージで逆方向のがしっくりくるが
関数型の思想としてそういうものだっけかな
374デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/18(火) 13:28:19.45ID:AUE9Rrcca 俺は若干右曲がり
375デフォルトの名無しさん (スプッッ Sd3f-bNqD)
2017/04/18(火) 20:55:52.53ID:L5MP9LYsd 可読性の高いSwift()
376デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/18(火) 21:25:36.15ID:dlRGmA3w0377デフォルトの名無しさん (ササクッテロロ Sp6f-vZSP)
2017/04/18(火) 22:03:34.33ID:Cbc6ZCQLp Ojb-C使ってても毎年のようにAPIレベルでDeprecatedが量産されるから
Obj-Cなら変更コストが低いってわけでもない
Obj-Cなら変更コストが低いってわけでもない
378デフォルトの名無しさん (スプッッ Sd3f-IVUN)
2017/04/19(水) 10:54:38.73ID:aMVSfr6md379デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/19(水) 11:22:12.10ID:2o4P71X40 >>378
let fn1: ((Int, Int)) -> Void = { x in
print(x.0 + x.1)
}
fn1((1,2)) // => 3
//fn1(1,2) // error: extra argument、引数が多すぎ!
let fn1: ((Int, Int)) -> Void = { x in
print(x.0 + x.1)
}
fn1((1,2)) // => 3
//fn1(1,2) // error: extra argument、引数が多すぎ!
380デフォルトの名無しさん (スプッッ Sd3f-IVUN)
2017/04/19(水) 12:18:48.30ID:aMVSfr6md >>379
ということは、元々括弧を省略した書き方をしなければ問題ないわけね
ということは、元々括弧を省略した書き方をしなければ問題ないわけね
381デフォルトの名無しさん (スプッッ Sd3f-bNqD)
2017/04/19(水) 20:19:15.30ID:Vhy+qJiMd Swiftの関数の書き方に近いシンタックスの言語ってある?
382デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/19(水) 22:12:07.64ID:RnslI5DB0 たくさんある
383デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/20(木) 14:01:17.17ID:sKYAHXfOa たくさんあるかは分からんけど、Rustは比較的似てる気がする
Go とか Kotlin辺りもちょっと似てるかな
Go とか Kotlin辺りもちょっと似てるかな
384デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/20(木) 14:07:23.48ID:Vb04xDKlp Java8も近い気がする
385デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/20(木) 17:04:27.86ID:VpJy20l50 String再実装の第一弾と複数行文字列リテラルがレビュー通った
386デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/21(金) 08:24:24.47ID:ZBCs1arm0387デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/21(金) 12:37:01.73ID:PVM41qEx0 let json = """
{
"lang": "Swift"
}
""""
json == "{¥n ¥"lang¥": ¥"Swift¥"¥n}"
閉じ"""の行と同じインデントが自動的に削除される(行頭が閉じ"""に揃う)
便利
{
"lang": "Swift"
}
""""
json == "{¥n ¥"lang¥": ¥"Swift¥"¥n}"
閉じ"""の行と同じインデントが自動的に削除される(行頭が閉じ"""に揃う)
便利
388デフォルトの名無しさん (ササクッテロラ Sp23-p2Ky)
2017/04/21(金) 12:49:25.47ID:z0f2AZORp 発展途上の言語はどんどん便利になるからいいね
389デフォルトの名無しさん (ワッチョイ 7f54-ddVw)
2017/04/22(土) 08:43:07.39ID:kAxmCg/50 >>387
詳しく!
詳しく!
390デフォルトの名無しさん (ワッチョイ de92-UbXF)
2017/04/22(土) 15:30:44.86ID:z7G2zYcp0 こんなものが今頃入るとか発展途上すぎるんだよ
391デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/22(土) 15:35:08.08ID:PgVA7Plza Javaにはないけどな
Swiftのはインデントまで考慮されて洗練されてるし
Swiftのはインデントまで考慮されて洗練されてるし
392デフォルトの名無しさん (ワッチョイ de92-UbXF)
2017/04/22(土) 15:42:53.58ID:z7G2zYcp0 インデント考慮って逆に分かりづらくなるような気が。。。
Optionalもそうだと思うけどSwiftって一見便利そうに見えて却って面倒くさくなってる要素が多いと思う
Optionalもそうだと思うけどSwiftって一見便利そうに見えて却って面倒くさくなってる要素が多いと思う
393デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/22(土) 15:58:34.23ID:kAxmCg/50 >>392
あんまり、ルールが多くなると、C++みたく、不人気になるんだよねぇ。
あんまり、ルールが多くなると、C++みたく、不人気になるんだよねぇ。
394デフォルトの名無しさん (ササクッテロリ Sp23-G776)
2017/04/23(日) 12:04:02.69ID:OKIxwLfDp395デフォルトの名無しさん (ワッチョイ 8a3c-06LW)
2017/04/23(日) 13:12:37.68ID:PRvAU6qE0 >>393
今のSwiftも十分ルール多いと思うぞ
今のSwiftも十分ルール多いと思うぞ
396デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/23(日) 13:18:16.81ID:16+ithPZ0397デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/23(日) 13:20:20.98ID:16+ithPZ0 >>394
破壊的変更だけど、事前通告もあるし。。。will be depreridated. warningとか。
納得できる変更だし、改善方向に向かってるのでOK。
改悪とか、こんな機能、だれも使わんぜぇ。ってのが無いのでoK.
Windows 10の3D Paint Brush機能って必要か?
破壊的変更だけど、事前通告もあるし。。。will be depreridated. warningとか。
納得できる変更だし、改善方向に向かってるのでOK。
改悪とか、こんな機能、だれも使わんぜぇ。ってのが無いのでoK.
Windows 10の3D Paint Brush機能って必要か?
398デフォルトの名無しさん (ワッチョイ 270f-SXGp)
2017/04/23(日) 13:52:00.91ID:HtOZeUof0 Swiftって読みにくすぎ
ObjC 3.0でいいわまじで
政治的に生まれた言語はどこかで無理が生じる
ObjC 3.0でいいわまじで
政治的に生まれた言語はどこかで無理が生じる
399デフォルトの名無しさん (ワッチョイ 533c-p2Ky)
2017/04/23(日) 22:20:07.29ID:d5pkzuTb0 ObjCの方が読みづらいわ
読みづらいというより書きづらい…かな
読みづらいというより書きづらい…かな
400デフォルトの名無しさん (スプッッ Sd4a-mqxQ)
2017/04/24(月) 09:18:14.98ID:OVGIDxevd >>399
禿同
禿同
401デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/24(月) 09:47:25.07ID:Et0GUfRD0 ObjC-2.1っての出してくれないかなぁ。
Swift2.x -> 3.xへの破壊的変更をObj-Cへも適用して欲しい。
たくさんあるinitializerをinit(xxx:)にまとめるとか、Foundation, AppKitにあるClassのメソッド名を洗練させるとか。
Foundation, AppKitって1980年代の設計のままだから、あの長いメソッド名を
ちょっとだけ短くするだけで、まだまだObj-Cは延命できそうな気がする。
Swift3.x見たく、メソッド名の短縮化をObj-Cへcome on!
Swift2.x -> 3.xへの破壊的変更をObj-Cへも適用して欲しい。
たくさんあるinitializerをinit(xxx:)にまとめるとか、Foundation, AppKitにあるClassのメソッド名を洗練させるとか。
Foundation, AppKitって1980年代の設計のままだから、あの長いメソッド名を
ちょっとだけ短くするだけで、まだまだObj-Cは延命できそうな気がする。
Swift3.x見たく、メソッド名の短縮化をObj-Cへcome on!
402デフォルトの名無しさん (スプッッ Sd4a-skpP)
2017/04/24(月) 09:52:31.43ID:mLc1nANzd >>401
解ってないなあ。
解ってないなあ。
403デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/24(月) 10:00:22.08ID:Et0GUfRD0 >>402
詳しく!
詳しく!
404デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/24(月) 10:02:56.87ID:Et0GUfRD0 Obj-C開発コミュニティーは崩壊しており、いまさらObj-Cのupgradeは難しいって事でしょうか?
だから、Swiftの開発が始まったって事でしょうか?
Obj-Cってコンパイル早くていい感じ何ですけど。Xcodeもサクサク動くし。
SwiftのせいでMacbook Pro15買わなくなっちゃいましたヨォ。俺は!
だから、Swiftの開発が始まったって事でしょうか?
Obj-Cってコンパイル早くていい感じ何ですけど。Xcodeもサクサク動くし。
SwiftのせいでMacbook Pro15買わなくなっちゃいましたヨォ。俺は!
405デフォルトの名無しさん (スプッッ Sd4a-mqxQ)
2017/04/24(月) 10:15:52.44ID:PIzQilqTd 買ったのならもういいじゃん
406デフォルトの名無しさん (スプッッ Sd4a-skpP)
2017/04/24(月) 11:07:05.55ID:mLc1nANzd407デフォルトの名無しさん (スプッッ Sd4a-a9+m)
2017/04/24(月) 12:02:48.74ID:SvpXvUmYd >>399
書くのがめんどくさいってのはある
書くのがめんどくさいってのはある
408デフォルトの名無しさん (スップ Sd4a-SXGp)
2017/04/24(月) 21:16:37.16ID:P6Dtc6ePd 単純に文の長さが短いだけで読みにくいのは高級言語としては微妙だな
409デフォルトの名無しさん (ワッチョイ 8ad4-a9+m)
2017/04/24(月) 22:06:57.16ID:hcHY62kZ0 「!」は最初見たときは分かりづらいと思ったが、慣れると危険な部分が分かりやすくて良いなと思ってる
410デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/24(月) 22:16:59.71ID:o8gY9V3aa !?
411デフォルトの名無しさん (ワッチョイ bb1f-vPNP)
2017/04/25(火) 08:29:23.45ID:O6rTDgi/0 プログラミング初心者なんですが、 delegateの概念がよく分かりません。
プロトコルは実装しないといけないメソッドとかをまとめるもの?という認識ですが。
開発チュートリアルやってると、なんの説明も無しにいきなりdelegateは何とかを他のクラスに委任できるなんちゃらとか、
説明が意味不明過ぎて詰みました
だれかわかりやすく説明できる方いますか?
わかりやすいサイトでもいいです
英語サイトやYouTubeでもいいです
プロトコルは実装しないといけないメソッドとかをまとめるもの?という認識ですが。
開発チュートリアルやってると、なんの説明も無しにいきなりdelegateは何とかを他のクラスに委任できるなんちゃらとか、
説明が意味不明過ぎて詰みました
だれかわかりやすく説明できる方いますか?
わかりやすいサイトでもいいです
英語サイトやYouTubeでもいいです
412デフォルトの名無しさん (スプッッ Sd33-a9+m)
2017/04/25(火) 08:33:44.54ID:DixYtrACd >>411
スレチ
スレチ
413デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/25(火) 08:43:07.85ID:uqhlwSBc0 >>411
スレチ、とかってのは無視してOKっすからね。
あとdelegateパターン、delegateメソッド、delegate変数って言葉を使える様に
ならないとね。
delegateの概念ってのは、「クラスに委任」とかっていうのは単なる辞書を引いた
だけの説明なのでこれも無視です。
delegateパターンってのは2つのクラス、1つのプロトコルを使ったパターンです。
あまりにも、当たり前に使われるので、説明無しにdelegateパターンって出てきます。
この記事が参考になるんちゃいまっしゃろか?
UIKit類似Frameworkを自作してみる
http://qiita.com/externvoid@github/items/c70ce09aea758a548b22
スレチ、とかってのは無視してOKっすからね。
あとdelegateパターン、delegateメソッド、delegate変数って言葉を使える様に
ならないとね。
delegateの概念ってのは、「クラスに委任」とかっていうのは単なる辞書を引いた
だけの説明なのでこれも無視です。
delegateパターンってのは2つのクラス、1つのプロトコルを使ったパターンです。
あまりにも、当たり前に使われるので、説明無しにdelegateパターンって出てきます。
この記事が参考になるんちゃいまっしゃろか?
UIKit類似Frameworkを自作してみる
http://qiita.com/externvoid@github/items/c70ce09aea758a548b22
414デフォルトの名無しさん (アウアウカー Saeb-Xafy)
2017/04/25(火) 09:52:21.41ID:o+aECIKxa デリゲートってのはなぁ・・おっと、後は>>145頼む
415デフォルトの名無しさん (アウアウカー Saeb-Xafy)
2017/04/25(火) 09:58:28.39ID:o+aECIKxa あぁ、デリゲート先間違えた。>>416頼む
416デフォルトの名無しさん (スプッッ Sd33-a9+m)
2017/04/25(火) 10:39:09.75ID:DixYtrACd >>413
スレチはスレチ
swiftに関係ないし初心者質問スレでもないので質問者の想定レベルが不明
しかも>>413はdelegateの説明をしていない
あと紹介するなら、こっちじゃないの?
http://qiita.com/mochizukikotaro/items/a5bc60d92aa2d6fe52ca
iOSに限定したdelegateへの質問なら、こっちの方が答えがあると思う
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
スレチはスレチ
swiftに関係ないし初心者質問スレでもないので質問者の想定レベルが不明
しかも>>413はdelegateの説明をしていない
あと紹介するなら、こっちじゃないの?
http://qiita.com/mochizukikotaro/items/a5bc60d92aa2d6fe52ca
iOSに限定したdelegateへの質問なら、こっちの方が答えがあると思う
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
417デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/25(火) 10:58:46.24ID:3wBLGJN/0 片側Rangeが通った
a[..<i] とか a[...i] とか a[i...] ってデフォで書ける
a[..<i] とか a[...i] とか a[i...] ってデフォで書ける
418デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/25(火) 11:06:07.97ID:3fSgT78Np 今までデフォじゃなければ書けたの?
ユーザが拡張可能なコンパイラプラグインIFってswiftにあったっけかな
ユーザが拡張可能なコンパイラプラグインIFってswiftにあったっけかな
419デフォルトの名無しさん (スプッッ Sd33-a9+m)
2017/04/25(火) 11:23:22.00ID:DixYtrACd a.prefix(i) // a[..<i]
a.dropFirst(i) // a[i..]
と、手で書き換えるとか?
a.dropFirst(i) // a[i..]
と、手で書き換えるとか?
420デフォルトの名無しさん (スップ Sdaa-skpP)
2017/04/25(火) 12:09:00.58ID:uC0QdnUhd421デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/25(火) 12:18:09.30ID:3wBLGJN/0 prefix operator ..<
prefix operator ...
postfix operator ...
を定義するだけ
SE-172のDetailed design真似して3.1で書いてみた
http://swift.sandbox.bluemix.net/#/repl/58febd1c8ef5d90dc580fb9b
まだSE-148のジェネリックなsubscriptがないから、ちょっとコードの重複ができてしまった
prefix operator ...
postfix operator ...
を定義するだけ
SE-172のDetailed design真似して3.1で書いてみた
http://swift.sandbox.bluemix.net/#/repl/58febd1c8ef5d90dc580fb9b
まだSE-148のジェネリックなsubscriptがないから、ちょっとコードの重複ができてしまった
422デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/25(火) 12:45:51.70ID:uqhlwSBc0423デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/25(火) 13:29:21.36ID:3fSgT78Np424デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/25(火) 18:50:45.06ID:8UEDmHts0 >>411
https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html
http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/delegation.html#Structure
https://code.tutsplus.com/articles/design-patterns-delegation--cms-23901
Delegateはデリゲーションパターンにおいて処理を委譲されるクラスの役割名
「委譲する」という意味の動詞としても使われる
プロトコルは他言語で言うインターフェース
DelegationはCocoaでフレームワークから開発者の書いたコードを呼び出す場合によく使われるパターン
例えばTableViewの行を選択した時に何か独自の動作を行いたいなら
UITableViewDelegateに定義されている特定のメソッドを実装してDelegateとして設定しておくと
ユーザーが行を選択した時にDelegateとして設定したクラスの該当メソッドが呼び出されて開発者が書いたコードが実行される
UITableViewDelegateがプロトコルでそのプロトコルを実装したクラスがDelegate
プロトコルとの関係がわかりにくければUITableViewDelegateProtocolという名前を省略してると考えてるといいかも
https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html
http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/delegation.html#Structure
https://code.tutsplus.com/articles/design-patterns-delegation--cms-23901
Delegateはデリゲーションパターンにおいて処理を委譲されるクラスの役割名
「委譲する」という意味の動詞としても使われる
プロトコルは他言語で言うインターフェース
DelegationはCocoaでフレームワークから開発者の書いたコードを呼び出す場合によく使われるパターン
例えばTableViewの行を選択した時に何か独自の動作を行いたいなら
UITableViewDelegateに定義されている特定のメソッドを実装してDelegateとして設定しておくと
ユーザーが行を選択した時にDelegateとして設定したクラスの該当メソッドが呼び出されて開発者が書いたコードが実行される
UITableViewDelegateがプロトコルでそのプロトコルを実装したクラスがDelegate
プロトコルとの関係がわかりにくければUITableViewDelegateProtocolという名前を省略してると考えてるといいかも
425デフォルトの名無しさん (スップ Sdaa-skpP)
2017/04/25(火) 20:11:15.65ID:uC0QdnUhd でもAppleはblockを奨めているから
今時delegateじゃないよね
まあ知っておいた方が良いかな程度?
今時delegateじゃないよね
まあ知っておいた方が良いかな程度?
426デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/25(火) 20:23:32.46ID:8UEDmHts0 blockと何の関係があるの?
427デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/25(火) 20:30:05.59ID:wOaxuRz+0 >>424
thx
2番目のURL記載のMultiple Inheritanceを避けて
Single Inheritance with Delegationってのが判りやすっすね。
CにはAの機能とBの機能が欲しい。じゃぁ、CはA, B2つのクラスを継承させれば良いか?というとそうでは無い。
CはAを継承しつつ、Bをメンバに持てば良い。
thx
2番目のURL記載のMultiple Inheritanceを避けて
Single Inheritance with Delegationってのが判りやすっすね。
CにはAの機能とBの機能が欲しい。じゃぁ、CはA, B2つのクラスを継承させれば良いか?というとそうでは無い。
CはAを継承しつつ、Bをメンバに持てば良い。
428デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/25(火) 20:59:50.91ID:wOaxuRz+0 is-a関係、part-of関係がはっきり決まるオブジェクト間の関係ばかりでは無い。
例:
- 正常運転 is-a 運転、復旧運転 is-a 運転
- 正常運転 part-of 運転、復旧運転 part-of 運転
同じ概念間にis-a関係、part-of関係の両方が同時に成立する事は
ありえず、どこか間違っている。
is-a関係:Interitance
part-of関係:delegateパターン
両者を上手く使い分けるのが吉!
例:
- 正常運転 is-a 運転、復旧運転 is-a 運転
- 正常運転 part-of 運転、復旧運転 part-of 運転
同じ概念間にis-a関係、part-of関係の両方が同時に成立する事は
ありえず、どこか間違っている。
is-a関係:Interitance
part-of関係:delegateパターン
両者を上手く使い分けるのが吉!
429デフォルトの名無しさん (ワッチョイ 270f-SXGp)
2017/04/26(水) 01:11:59.43ID:zySdwBLY0 inheritanceかな
430デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/26(水) 08:47:49.85ID:0yNg6j//p >>426
スレチだけどURLConnection(非推奨)とURLSession(推奨)見比べろ
スレチだけどURLConnection(非推奨)とURLSession(推奨)見比べろ
431デフォルトの名無しさん (ワッチョイ 6372-Xafy)
2017/04/26(水) 11:01:47.26ID:8tL6gyso0432デフォルトの名無しさん (ワッチョイ ab05-MGa5)
2017/04/26(水) 11:05:31.83ID:GvwT/G3X0 数で比較するんじゃなくて、どっちをユーザに使わせようとしてるかを比較するんだよ?
UIAlertController(推奨)とUIAlertView(非推奨)みたいなのもあるな
UIAlertController(推奨)とUIAlertView(非推奨)みたいなのもあるな
433デフォルトの名無しさん (ワッチョイ 6372-Xafy)
2017/04/26(水) 11:25:04.64ID:8tL6gyso0 すまん、数を持ち出したのは間違いだったが物事を単純に考えてる奴には目で見て分かりやすいと思ったので
新しいAPIでもcompletionHandlerもあればdelegateもあるし適材適所って事
新しいAPIでもcompletionHandlerもあればdelegateもあるし適材適所って事
434デフォルトの名無しさん (ワッチョイ ab05-MGa5)
2017/04/26(水) 11:38:07.27ID:GvwT/G3X0 適材適所であることに異論はないが、今までdelegateだったものがblockに移行してる事実はあるよね
>>426の「何の関係があるの?」の疑問は解決したかな
同じようにObjCだったものがSwiftに移行・・・はして失敗してるんだよなぁ
Swiftに移行したけど破壊変更が頻繁でメンテナンス性が悪いからObjCに差し戻そうって意見が割とガチで出て辛い
>>426の「何の関係があるの?」の疑問は解決したかな
同じようにObjCだったものがSwiftに移行・・・はして失敗してるんだよなぁ
Swiftに移行したけど破壊変更が頻繁でメンテナンス性が悪いからObjCに差し戻そうって意見が割とガチで出て辛い
435デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/26(水) 14:54:49.58ID:rNMObgtm0 >>430
なるほど>>425が言いたいことは理解したわ
Delegateをコールバックを実現する仕組みの一つとして捉えると
わざわざDelegateを定義しなくてもcompletionHandlerみたいなblockパラメータって十分ってことかな
シンプルなケースはそれでいいけど少し複雑になるとDelegate使ったほうが良いケースもあるし使い分けだよね
自分で新しく作るんじゃなくUITableViewDelegateみたいなフレームワークで用意されたプロトコルを使う場合は
コールバックを実現する仕組みというより事前に用意された拡張ポイントを使う方法として捉えてる
その場合サブクラス化、デリゲート、イベントなんかは同じグループとして捉えてるけどBlockは抽象度違うからグループの外だね
なるほど>>425が言いたいことは理解したわ
Delegateをコールバックを実現する仕組みの一つとして捉えると
わざわざDelegateを定義しなくてもcompletionHandlerみたいなblockパラメータって十分ってことかな
シンプルなケースはそれでいいけど少し複雑になるとDelegate使ったほうが良いケースもあるし使い分けだよね
自分で新しく作るんじゃなくUITableViewDelegateみたいなフレームワークで用意されたプロトコルを使う場合は
コールバックを実現する仕組みというより事前に用意された拡張ポイントを使う方法として捉えてる
その場合サブクラス化、デリゲート、イベントなんかは同じグループとして捉えてるけどBlockは抽象度違うからグループの外だね
436デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/26(水) 15:04:57.22ID:3mj2KO3W0 SwiftのprotocolはJavaのinterfaceみたいなもんだと説明されるけど、Javaでoptionalメソッドを定義できるの?
437デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/26(水) 15:08:18.39ID:gZc0mpUPa >>436
スレチもいいとこ
スレチもいいとこ
438デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/26(水) 15:17:06.14ID:rNMObgtm0 >>436
何もしないデフォルト実装を用意する
何もしないデフォルト実装を用意する
439デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/26(水) 15:54:00.63ID:3mj2KO3W0 >>438
なるほどぉ。
なるほどぉ。
440デフォルトの名無しさん (スップ Sdaa-SXGp)
2017/04/26(水) 19:42:58.31ID:7DECPBe+d funcって書くのにメソッドなの??
441デフォルトの名無しさん (ワッチョイ 533c-p2Ky)
2017/04/26(水) 19:59:41.32ID:lYhaqZk40 そもそもfuncとmethodを分ける意味ってあんの?
会話で通じないとかなくね?
会話で通じないとかなくね?
442デフォルトの名無しさん (ササクッテロレ Sp23-p2Ky)
2017/04/26(水) 20:56:10.25ID:2ExUo8Ujp Fuck!!!
443デフォルトの名無しさん (スッップ Sdaa-skpP)
2017/04/26(水) 21:12:05.58ID:7OfAzagzd 関数の事をmethodって言う奴は「解ってないなあ」と思う。
あと、宣言と定義の使い分けできていない人も苦手だな。
あと、宣言と定義の使い分けできていない人も苦手だな。
444デフォルトの名無しさん (スップ Sd4a-mqxQ)
2017/04/26(水) 21:14:41.12ID:yg9vhXXld 伝わればなんでもいいよ
445デフォルトの名無しさん (ワッチョイ 533c-p2Ky)
2017/04/26(水) 21:15:15.06ID:lYhaqZk40 ヘッダーがなくなった時点で、宣言も定義もほぼ同義じゃねーの
446デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/26(水) 21:43:02.76ID:ZkZBCOOl0 Swiftでは公式に用語がどう定義されてんだろうと思って探したら丁度ズバリ書いてた
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID351
In Swift, most declarations are also definitions in the sense that they
are implemented or initialized at the same time they are declared.
That said, because protocols don’t implement their members, most
protocol members are declarations only.
For convenience and because the distinction isn’t that important in
Swift, the term declaration covers both declarations and definitions.
Swiftではプロトコルとか一部除いてほぼ宣言と同時に定義するし、いちいち区別するのメンドクセーから「宣言」も「定義」もひっくるめて「宣言」って用語だけ使うわー
まぁそれもBNFだけでの話のようで、Guideの他の部分の文章では「definition」も使われたり混同されたりしてるようだけど
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID351
In Swift, most declarations are also definitions in the sense that they
are implemented or initialized at the same time they are declared.
That said, because protocols don’t implement their members, most
protocol members are declarations only.
For convenience and because the distinction isn’t that important in
Swift, the term declaration covers both declarations and definitions.
Swiftではプロトコルとか一部除いてほぼ宣言と同時に定義するし、いちいち区別するのメンドクセーから「宣言」も「定義」もひっくるめて「宣言」って用語だけ使うわー
まぁそれもBNFだけでの話のようで、Guideの他の部分の文章では「definition」も使われたり混同されたりしてるようだけど
447デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/26(水) 22:01:01.52ID:H5XmXuTS0 >>443
うっそーん?
instance method, type methodっていう言い方はするが、
instance function, type function(class function)なんて聞いたこと
ないぞぉ。
うっそーん?
instance method, type methodっていう言い方はするが、
instance function, type function(class function)なんて聞いたこと
ないぞぉ。
448デフォルトの名無しさん (ワッチョイ 5b05-yA3i)
2017/04/27(木) 02:46:48.47ID:v69LNgpd0449デフォルトの名無しさん (ワッチョイ 6b0f-T1v3)
2017/04/27(木) 08:03:13.29ID:T2cThVGm0 いやだからなんでfuncって書くのにメソッドやねん
だったらmethにでもしとけばええやん
だったらmethにでもしとけばええやん
450デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 08:35:20.62ID:7p4DwLyja グローバルな関数とメソッドでfuncとmethを書き分けろっての?
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
451デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 09:04:29.23ID:N3r3uYtra そもそもメソッドというのはSmalltalkのコミュニティが使い始めた用語で
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね
だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている
強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね
だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている
強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
452デフォルトの名無しさん (エムゾネ FF7f-T1v3)
2017/04/27(木) 09:05:58.12ID:OI3ixlBfF funcyな言語やで
453デフォルトの名無しさん (ワッチョイ 0bf3-czGs)
2017/04/27(木) 10:36:56.84ID:OuTFIb+i0454デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 11:23:38.37ID:N3r3uYtra >>453
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物
たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる
もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物
たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる
もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
455デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 11:49:48.89ID:7p4DwLyja Obj-Cの場合はメッセージ=メソッド的なとこあるけど、Smalltalkは違うんかね
456デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 12:55:56.69ID:N3r3uYtra >>455
んー、Obj-Cのコミュニティ(Appleの公式文書も含め)が勘違いを広めているってよくない傾向はあるけど
Obj-CもSmalltalkもメッセージングの根本の考え方は変わらない
そもそもObj-CはSmalltalkのやっていることをCのプリプロセッサでやろうとした試みからスタートしたので変えたら意味ないし
ちなみにそのときの文法はまだメッセージ式ではなかったから純粋にコンセプトだけをなぞろうとしたことがわかる
http://dl.acm.org/citation.cfm?id=948095 (残念ながら有償)
mySodaMachine = {| SodaMachine, "comb:model:", 23, 4 |};
んー、Obj-Cのコミュニティ(Appleの公式文書も含め)が勘違いを広めているってよくない傾向はあるけど
Obj-CもSmalltalkもメッセージングの根本の考え方は変わらない
そもそもObj-CはSmalltalkのやっていることをCのプリプロセッサでやろうとした試みからスタートしたので変えたら意味ないし
ちなみにそのときの文法はまだメッセージ式ではなかったから純粋にコンセプトだけをなぞろうとしたことがわかる
http://dl.acm.org/citation.cfm?id=948095 (残念ながら有償)
mySodaMachine = {| SodaMachine, "comb:model:", 23, 4 |};
457デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 14:07:08.57ID:Wv+Yc+Vq0 Methods are functions that are associated with a particular type
以上。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
以上。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
458デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/27(木) 14:47:27.97ID:52wV30cHp 以上って言っても、small talkやobjcについてスレチ上等で会話してる奴等には通じない、、、
大元の>>440だけ考えたら、コード上でfunc, methの書き分けなんて面倒っていう
コンパイラ側とコーダー側の双方メリットによるものだろうよ
大元の>>440だけ考えたら、コード上でfunc, methの書き分けなんて面倒っていう
コンパイラ側とコーダー側の双方メリットによるものだろうよ
459デフォルトの名無しさん (ワッチョイ 5b3c-C6JC)
2017/04/27(木) 15:27:43.95ID:573QYR970 戻り値が void の function なんてのは C で初めて見た。
例えば BASIC や Pascal では戻り値が無いのは procedure で 戻り値があるのが function だ。
method はやり方とか手順とかいう意味で routine や procedure と同じような意味合いだ。
function というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
例えば BASIC や Pascal では戻り値が無いのは procedure で 戻り値があるのが function だ。
method はやり方とか手順とかいう意味で routine や procedure と同じような意味合いだ。
function というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
460デフォルトの名無しさん (JP 0H9f-PkLO)
2017/04/27(木) 16:23:53.95ID:a+4IBLmkH Cのvoidはアキュムレータの値を還すよ
461デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 16:43:42.91ID:QxU5eB0Ka そんなもの返されたところで使い道は無ぇ
462デフォルトの名無しさん (ワッチョイ 5bf3-nUWF)
2017/04/27(木) 16:48:34.82ID:R6dFUrFW0 るーびーですねわかります
463デフォルトの名無しさん (ワッチョイ 0f92-oOkd)
2017/04/27(木) 19:19:04.75ID:5OLYtE1F0 >>460
それは返すとは言いません
それは返すとは言いません
464デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/27(木) 21:03:25.93ID:8BI3unQLd465デフォルトの名無しさん (ワッチョイ bb3c-L4LY)
2017/04/27(木) 21:31:33.44ID:i5BzzK+e0466デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/27(木) 22:14:36.28ID:52wV30cHp 教祖様がコード上はfuncをキーワードにするけど、>>457の通り人間向けはmethodがいいって言ってる
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う
信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う
信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
467デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 23:12:26.96ID:Wv+Yc+Vq0 >>464
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ
メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ
メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
468デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 23:16:43.40ID:Wv+Yc+Vq0469デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/27(木) 23:28:54.98ID:8BI3unQLd470デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 23:37:34.54ID:+McxYUoga キーワードないと宣言なのか呼び出しなのかコンパイラも判断に迷うだろ
471デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 00:05:28.20ID:uTZO7qUH0472デフォルトの名無しさん (アウアウウー Sa9f-L4LY)
2017/04/28(金) 04:06:13.32ID:TMPExC9ya arc4random()をIntに入れるのに完璧なやり方ってある?
473デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/28(金) 05:07:09.24ID:dZlKtiRpd >>470
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
474デフォルトの名無しさん (スップ Sd7f-Ch68)
2017/04/28(金) 07:34:38.00ID:NEA7d0M1d C言語の場合
プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない
関数定義
と言うように、定義はメモリの確保を伴う
オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない
関数定義
と言うように、定義はメモリの確保を伴う
オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
475デフォルトの名無しさん (ワッチョイ 6b0f-LXZo)
2017/04/28(金) 08:07:22.91ID:+uUUmIhK0 JavaとかObjective-Cでもfuncとかいうキーワードはないのに成り立ってるね
476デフォルトの名無しさん (ワッチョイ 5b05-yA3i)
2017/04/28(金) 08:23:00.72ID:Z9SVt9YO0 他の新興言語のgoやrustはキーワードつけてるね
あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
477デフォルトの名無しさん (ワッチョイ 6b0f-LXZo)
2017/04/28(金) 08:24:09.58ID:+uUUmIhK0 なるほどモダンねぇ...
478デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 08:25:01.60ID:uTZO7qUH0 型が後置だからだろ
479デフォルトの名無しさん (エムゾネ FF7f-T1v3)
2017/04/28(金) 08:59:20.10ID:1TnL0+oaF480デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/28(金) 09:15:26.74ID:HrVNNKWrp いや、後置でもコンパイラが頑張ればできるでしょ
481デフォルトの名無しさん (スプッッ Sd1f-xKwp)
2017/04/28(金) 09:57:20.06ID:Ac9Dm7bId 明示しないとコンパイラだけじゃなく人間も頑張らなくちゃならなくなるかも
482デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/28(金) 10:00:18.34ID:K29gCEJ0a >>473
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
483デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/28(金) 16:06:25.59ID:pTZXbcwl0 構文解析の問題だからメモリ確保云々は関係ないでしょ
funcキーワードを使わないとして
例えば foo() {…} と書いた場合にこれが関数定義なのか
Trailing Closureを付けて関数を実行しようとしてるのか{…}の中身を調べないと分からないし
未定義のものを実行しようとしてるのかどうかの判定も困難
キーワードがあることで構文解析・静的解析・型推論なんかで有利に働いて
言語としての表現力や安全性が高まる 特に表現力
funcじゃなくてletやvarを使ってもいい(Swift的にはこれらは関数とは呼ばないけど)
let foo = {print(“foo”)}
let bar = {() -> () in print(“bar”)}
let baz: () -> () = {…}
funcキーワードを使わないとして
例えば foo() {…} と書いた場合にこれが関数定義なのか
Trailing Closureを付けて関数を実行しようとしてるのか{…}の中身を調べないと分からないし
未定義のものを実行しようとしてるのかどうかの判定も困難
キーワードがあることで構文解析・静的解析・型推論なんかで有利に働いて
言語としての表現力や安全性が高まる 特に表現力
funcじゃなくてletやvarを使ってもいい(Swift的にはこれらは関数とは呼ばないけど)
let foo = {print(“foo”)}
let bar = {() -> () in print(“bar”)}
let baz: () -> () = {…}
484デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 18:44:38.27ID:uTZO7qUH0 >>472
Intに入れるじゃ何聞きたいのか分からん
var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))
こういう話?
それとももっと別の話なのか
Intに入れるじゃ何聞きたいのか分からん
var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))
こういう話?
それとももっと別の話なのか
485デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/28(金) 21:07:49.54ID:pTZXbcwl0486デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
2017/05/06(土) 16:47:48.74ID:3sfm3EzD0 『詳解Swift』ってどう?Amazonの評価は真っ二つに別れているんだけど
487デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 17:06:44.06ID:Vgrr/US10488デフォルトの名無しさん (ササクッテロロ Spf7-3eBY)
2017/05/06(土) 17:17:20.80ID:Du+O4KVHp 中上級者向けの本で内容を理解出来ないと悪いレビューつける奴いるしな
489デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/06(土) 17:32:44.31ID:rU3gcFGYp swift 3に対応した3版は出たのかねぇ
作者も読者も疲れてそうだと思った
作者も読者も疲れてそうだと思った
490デフォルトの名無しさん (ワッチョイ f23c-q6do)
2017/05/06(土) 17:49:37.89ID:l3lhsLeM0 >>486
Appleの公式本読めば十分だよ
日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ
あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
Appleの公式本読めば十分だよ
日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ
あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
491デフォルトの名無しさん (アウアウウー Sab3-aLIQ)
2017/05/06(土) 17:50:10.60ID:Vu96M1x5a >>488
百田尚樹の本をサヨクが理解出来ないのと一緒だな
百田尚樹の本をサヨクが理解出来ないのと一緒だな
492デフォルトの名無しさん (スッップ Sd52-YlV+)
2017/05/06(土) 17:50:47.77ID:tXDjXsMUd どうせSwiftの自己満仕様変更で古くなる参考書を何故買うかね?
493デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
2017/05/06(土) 19:55:06.44ID:3sfm3EzD0 古くなるのが嫌なら、IT系の本、特に入門書なんて全部買えないだろ。
それに図書館で買ってもらって読むって手もあるし。
それに図書館で買ってもらって読むって手もあるし。
494デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:50:30.20ID:Vgrr/US10495デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:51:18.32ID:Vgrr/US10 >>491
素晴らしい比喩
素晴らしい比喩
496デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:52:39.76ID:Vgrr/US10497デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 20:54:11.98ID:A6Xoj7sWa コンピュータの世界はどんどん新しくなるのが当たり前だろ。
言語は、その中でもまだ遅い方よ。
言語は、その中でもまだ遅い方よ。
498デフォルトの名無しさん (JP 0H4b-vxmx)
2017/05/06(土) 21:30:38.70ID:RxOQwEquH ネットの情報は新旧混在ですぐデブリだらけになるからな
499デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/06(土) 21:58:01.55ID:I53ls5gra どんどん新しくなるといいながら、未だにフォン・ノイマン型が主流なんだよな
500デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 22:03:44.34ID:A6Xoj7sWa 分野による。
組み込みじゃハーバード型が主流。
組み込みじゃハーバード型が主流。
501デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/06(土) 22:12:19.08ID:I53ls5gra ハーバード型もパラダイム的には大して変わんねーから
502デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 22:17:28.66ID:A6Xoj7sWa データと命令で分かれてるのは地味に重要だぞ。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
503デフォルトの名無しさん (スッップ Sd52-YlV+)
2017/05/06(土) 22:31:46.28ID:tXDjXsMUd >>496
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
504デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:35:29.44ID:Vgrr/US10505デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:37:36.61ID:Vgrr/US10 フォン・ノイマン型 ハーバード型
ってなんの話だ?
ってなんの話だ?
506デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:39:01.34ID:Vgrr/US10 AVR, PIC vs Intel, ARM
って事なのね。
って事なのね。
507デフォルトの名無しさん (ササクッテロロ Spf7-3eBY)
2017/05/07(日) 01:04:29.57ID:97sXlIAUp 早々にSwiftに移行した人達よ、工数人件費は抑えられた?上がった?
508デフォルトの名無しさん (ワッチョイ cf92-npF+)
2017/05/07(日) 14:03:00.79ID:w48Ptm+H0 >>491
キチガイの発想は健常者には理解不能だよなあ
キチガイの発想は健常者には理解不能だよなあ
509デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/07(日) 16:21:15.72ID:kFOE8CxJp510デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/07(日) 17:00:21.83ID:4+gPHsDZ0 >>509
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?
Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?
これから段々、Obj-C世代が居なくなるよ。
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?
Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?
これから段々、Obj-C世代が居なくなるよ。
511デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/07(日) 17:34:13.56ID:kFOE8CxJp 1.xの頃は開発環境が業務に耐える品質じゃなかったし
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった
比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった
比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
512デフォルトの名無しさん (ワッチョイ 32d4-qAfm)
2017/05/07(日) 18:21:04.90ID:Y4rdOdmi0 本番に耐えられるのはバージョン3からというしな
513デフォルトの名無しさん (ワッチョイ cf92-npF+)
2017/05/07(日) 19:54:43.41ID:w48Ptm+H0 そういうのもあるけどXcodeがクソすぎる
514デフォルトの名無しさん (ワッチョイ 323c-5tHG)
2017/05/07(日) 20:20:45.01ID:59YO4yyL0 うちはまだSwift2.3 - 3.xへの移行まだしてないな。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
515デフォルトの名無しさん (ワッチョイ b2c8-tela)
2017/05/07(日) 22:19:05.42ID:dChYZV8N0 swift5もでるみたいだから毎年苦労することになる。
516デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/07(日) 22:39:31.23ID:VGI2seLS0 4からCIでソース互換性テストやるようになったから大丈夫だろ
517デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/07(日) 22:45:12.18ID:DJhnYmDa0 そろそろ仕様は安定しましたか?
518デフォルトの名無しさん (ワッチョイ 761f-Ogwz)
2017/05/08(月) 00:46:35.42ID:j5FwBoSL0 移行しないという選択肢は
519デフォルトの名無しさん (ワッチョイ 9b0f-YlV+)
2017/05/08(月) 08:14:18.24ID:tEZCpO6i0 >>518
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
520デフォルトの名無しさん (アウアウウー Sab3-3eBY)
2017/05/08(月) 08:43:41.22ID:CnaMYymAa >>518
数年しか使わないアプリならそれでいいんじゃない。
数年しか使わないアプリならそれでいいんじゃない。
521デフォルトの名無しさん (スッップ Sd52-qAfm)
2017/05/08(月) 08:48:43.68ID:X/V4E59/d >>517
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
522デフォルトの名無しさん (ワッチョイ b3f5-BeWO)
2017/05/08(月) 13:41:30.46ID:Bf5KwLeX0 swift触るよりreact native とtypescriptでいいんじゃないかな?
reduxでステート管理できるぜ
reduxでステート管理できるぜ
523デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/08(月) 13:44:43.79ID:vwxEwAxp0 >>522
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
524デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/08(月) 13:46:43.44ID:vwxEwAxp0 Variable, Driver
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
525デフォルトの名無しさん (ワッチョイ 9f6e-7iRX)
2017/05/08(月) 16:14:31.41ID:bL8ez2V30526517 (ワッチョイ 7ba3-LFpG)
2017/05/08(月) 16:27:33.64ID:WhT9Qpgj0 ずっと前から定期的にswiftが安定したかどうかをこのスレで尋ねてきたんだけど
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
527デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/08(月) 17:29:23.85ID:WxeP2eSJ0 ABI安定化は延期されたから4には入らないって何度言わせるんだ
528デフォルトの名無しさん (ワッチョイ 9f6e-7iRX)
2017/05/08(月) 18:17:19.90ID:bL8ez2V30 あん?3が見送りで4で安定(予定)じゃないのかいな
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
529デフォルトの名無しさん (ササクッテロレ Spf7-dJIr)
2017/05/08(月) 18:44:56.25ID:ZyGEVEkup 変化を恐れては何も進歩しない
530デフォルトの名無しさん (ワッチョイ b3f5-BeWO)
2017/05/08(月) 22:24:36.42ID:Bf5KwLeX0 >>523
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
531デフォルトの名無しさん (ササクッテロラ Spf7-3eBY)
2017/05/09(火) 00:14:22.36ID:U8IiXvlVp532デフォルトの名無しさん (エムゾネ FF52-YlV+)
2017/05/09(火) 01:22:08.73ID:U5ulV1PaF >>531
賢明な判断
賢明な判断
533デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 14:41:07.77ID:saKaHmAZ0 import Foundation
extension NSObjectProtocol {
static var className: String {
return String(describing: self)
}
}
print(String.className) // =>NSString
print(String(describing: String.self)) // =>String
最初のprint文の出力は、これで良いのでしょうか?
Terminal.appで実行しました。
513> swift -v
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
です。
extension NSObjectProtocol {
static var className: String {
return String(describing: self)
}
}
print(String.className) // =>NSString
print(String(describing: String.self)) // =>String
最初のprint文の出力は、これで良いのでしょうか?
Terminal.appで実行しました。
513> swift -v
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
です。
534デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 14:43:56.95ID:saKaHmAZ0 あと昔、NSObject classとNSObject protocolの2つがあった様に
記憶してますが、
protocolの方はNSObjectProtocol protocolに改名されたのでしょうか?
記憶してますが、
protocolの方はNSObjectProtocol protocolに改名されたのでしょうか?
535デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 14:47:24.26ID:saKaHmAZ0 obj-cのNSObject protocolがswiftのNSObjectProtocolなんですね。
536デフォルトの名無しさん (ササクッテロル Spf7-ge3j)
2017/05/09(火) 16:26:35.60ID:+4v+N8Ofp ストーリーボードを使わずに開発したいんだけど、参考になる書籍がなかなか見つからん..
なんかオススメの本あったら教えてくれ
なんかオススメの本あったら教えてくれ
537デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 16:41:53.42ID:saKaHmAZ0 >>536
大都市圏にお住まいじゃないのかな?
大都市圏にお住まいじゃないのかな?
538デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/09(火) 16:43:02.60ID:aBFiO8O6a539デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/09(火) 16:53:15.00ID:99drGKBN0 便乗で質問です。
Swiftの言語自体の解説は書籍もサイトも見つかるのですが、
ストーリーボード自体の解説をしている書籍とかサイトって、
あまり見当たりません。
なんかお勧めとかありますでしょうか?
Swiftの言語自体の解説は書籍もサイトも見つかるのですが、
ストーリーボード自体の解説をしている書籍とかサイトって、
あまり見当たりません。
なんかお勧めとかありますでしょうか?
540デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/09(火) 16:57:06.02ID:PFfvqZY+0 >>533
バグっぽい
SE-0072 で String から NSString への暗黙的なキャストは禁止になったけど
NSObjectProtocol のメソッドを呼ぶときは暗黙的に NSString にキャストされるままになってしまってる
今 master の最近のビルドで試してみたらコンパイルエラーになったから 4.0 で修正されると思われる
print(NSString.className) // NSString
// print(String.className) // error: static member 'className' cannot be used on instance of type 'NSString'
print(type(of: "" as NSString).className) // NSString
Swift version 4.0-dev (LLVM 3df4892fbe, Clang 1a30829a18, Swift 79258866a2)
Target: x86_64-unknown-linux-gnu
バグっぽい
SE-0072 で String から NSString への暗黙的なキャストは禁止になったけど
NSObjectProtocol のメソッドを呼ぶときは暗黙的に NSString にキャストされるままになってしまってる
今 master の最近のビルドで試してみたらコンパイルエラーになったから 4.0 で修正されると思われる
print(NSString.className) // NSString
// print(String.className) // error: static member 'className' cannot be used on instance of type 'NSString'
print(type(of: "" as NSString).className) // NSString
Swift version 4.0-dev (LLVM 3df4892fbe, Clang 1a30829a18, Swift 79258866a2)
Target: x86_64-unknown-linux-gnu
541デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/09(火) 17:02:09.65ID:PFfvqZY+0 >>536
>>539
ここは言語自体のスレなので、iOS開発関連の質問は↓このへんで聞いたほうがいい
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/
>>539
ここは言語自体のスレなので、iOS開発関連の質問は↓このへんで聞いたほうがいい
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/
542デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/09(火) 17:09:44.77ID:99drGKBN0 >>541
了解です。ありがとうございます。
了解です。ありがとうございます。
543デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 17:14:04.01ID:saKaHmAZ0544デフォルトの名無しさん (ササクッテロル Spf7-ge3j)
2017/05/09(火) 17:21:32.43ID:+4v+N8Ofp545デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/09(火) 17:23:30.33ID:aBFiO8O6a546デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/09(火) 17:41:17.37ID:XATV1oVDp 1つの.storyboardを複数名が修正して発狂するのはiOS/macOS開発の宿命
じゃあswiftだけ作ればいいって言うと更に発狂するし
storyboardを複数に分けるとビルド時間延びて発狂する
ホントXcodeはクソやでぇ、、、
まぁビルド時間はswift使う時点で頭くるほど延びてるんだけども
1.xの頃はホントシネと思った
じゃあswiftだけ作ればいいって言うと更に発狂するし
storyboardを複数に分けるとビルド時間延びて発狂する
ホントXcodeはクソやでぇ、、、
まぁビルド時間はswift使う時点で頭くるほど延びてるんだけども
1.xの頃はホントシネと思った
547デフォルトの名無しさん (ササクッテロラ Spf7-3eBY)
2017/05/09(火) 19:02:34.86ID:kVl7/5KVp 1つでかいStoryboardがある場合とそれを分割した場合とじゃ後者の方がビルド早くない?ビルドキャッシュのおかげかな?
548デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/10(水) 14:08:08.73ID:w+pKES+H0549デフォルトの名無しさん (ワッチョイ 323c-5tHG)
2017/05/10(水) 16:46:03.36ID:5zfXjNQY0 Swiftで開発中にハマまくったけど結局コンパイラのバグだったって経験ある人いる?
そういうのが怖くてSwift始められない人って多いと思う。
そういうのが怖くてSwift始められない人って多いと思う。
550デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/10(水) 17:02:30.52ID:w+pKES+H0551デフォルトの名無しさん (ワントンキン MM1f-+XR/)
2017/05/12(金) 12:44:09.77ID:5uMNbvu6M [速報]マイクロソフト、「Xamarin Live Player」発表。Visual Studioで開発したコードを直接iOS
/Androidデバイスに転送、実行、リモートデバッグ。Mac不要。Build 2017
http://www.publickey1.jp/blog/17/xamarin_live_playervisual_studioiosandroidmacbuild_2017.html
Xamarinに移行するわ。
/Androidデバイスに転送、実行、リモートデバッグ。Mac不要。Build 2017
http://www.publickey1.jp/blog/17/xamarin_live_playervisual_studioiosandroidmacbuild_2017.html
Xamarinに移行するわ。
552デフォルトの名無しさん (ワッチョイ 93f3-LQvu)
2017/05/12(金) 13:59:51.73ID:lhbTqX1Q0 >>551
なかなか、良さそう。
Xamarin Live PlayerってのiPhoneへ放り込むって事で、WiFi経由でdebugできるってことか。
1本1,000円のLightning Cableが不要になるのはありがたい。
なかなか、良さそう。
Xamarin Live PlayerってのiPhoneへ放り込むって事で、WiFi経由でdebugできるってことか。
1本1,000円のLightning Cableが不要になるのはありがたい。
553デフォルトの名無しさん (アウアウエー Sa5f-PerL)
2017/05/12(金) 14:05:12.34ID:2mn6Y2Vsa MS社員きてんね
554デフォルトの名無しさん (ワッチョイ 7f3c-RSRw)
2017/05/12(金) 14:05:21.37ID:Q17vINXP0 グダグダなswiftをみると、まともなC#に移行したくなるわな
555デフォルトの名無しさん (ワッチョイ 93f3-LQvu)
2017/05/12(金) 14:36:33.56ID:lhbTqX1Q0 >>554
C#は歴史があるからなぁ。
C#は歴史があるからなぁ。
556デフォルトの名無しさん (ワッチョイ 93f3-LQvu)
2017/05/12(金) 14:37:19.76ID:lhbTqX1Q0 Microsoft Fluent Design System - YouTube
この動画感動。なんかすごそう。
簡単に、こんな、UI/UXできれば良いが。
この動画感動。なんかすごそう。
簡単に、こんな、UI/UXできれば良いが。
557デフォルトの名無しさん (アウアウウー Sa87-Xtwe)
2017/05/12(金) 18:51:17.19ID:adrx7z+4a 音量でかすぎた
558デフォルトの名無しさん (ドコグロ MM07-ckCv)
2017/05/12(金) 20:26:13.04ID:PRgqKdu8M Unityみたいにエミュレートなんじゃないのかな
559デフォルトの名無しさん (ササクッテロレ Sp27-PerL)
2017/05/12(金) 20:36:48.20ID:eVJpK769p あの日の夕暮れ時の輝くUnityみたいな君の笑顔を忘れない
Forever
Forever
560デフォルトの名無しさん (ワッチョイ 1346-gc8I)
2017/05/12(金) 22:48:43.99ID:lZ6lnHgt0 >>551
ますます、Swiftの存在価値に疑問符が打たれてきたな
ますます、Swiftの存在価値に疑問符が打たれてきたな
561デフォルトの名無しさん (スップ Sd9f-ftkE)
2017/05/12(金) 22:52:46.78ID:5e8sApFSd 腐林檎怒らんの?
562デフォルトの名無しさん (ワッチョイ 2372-Y/UN)
2017/05/13(土) 01:57:49.50ID:IqEmk/XX0 >>561
Appleと協議してOK出てるらしいよ
Appleと協議してOK出てるらしいよ
563デフォルトの名無しさん (ササクッテロレ Sp27-PerL)
2017/05/13(土) 02:01:24.32ID:1JN0T2YBp Xamarin Live Playerを使うことで、MacがなくともiOSデバイスへ開発中のアプリケーションをデプロイできるようになったため、
アプリケーション開発段階ではすべての作業をWindowsマシンだけで行うことができるようになりました(ただしAppleへの申請などのためにMacは必要となります)。
>ただしAppleへの申請などのためにMacは必要となります
>ただしAppleへの申請などのためにMacは必要となります
>ただしAppleへの申請などのためにMacは必要となります
Appleも抜かりはないな
アプリケーション開発段階ではすべての作業をWindowsマシンだけで行うことができるようになりました(ただしAppleへの申請などのためにMacは必要となります)。
>ただしAppleへの申請などのためにMacは必要となります
>ただしAppleへの申請などのためにMacは必要となります
>ただしAppleへの申請などのためにMacは必要となります
Appleも抜かりはないな
564デフォルトの名無しさん (ワッチョイ 7f3c-RSRw)
2017/05/13(土) 02:03:40.83ID:hinxYcJy0 >>563
でも、それだけであればくそ高いmac本体買わないで済むわ
でも、それだけであればくそ高いmac本体買わないで済むわ
565デフォルトの名無しさん (ササクッテロレ Sp27-PerL)
2017/05/13(土) 02:14:36.61ID:1JN0T2YBp ユーザ拡大になるし、Mac miniでも買ってもらえるし、Developperプログラムの年会費も払ってもらえるし
まぁ、Appleにとってもメリットあるしな
まぁ、Appleにとってもメリットあるしな
566デフォルトの名無しさん (ワッチョイ 1346-YxKb)
2017/05/13(土) 06:43:51.68ID:As0eJ5kQ0 今までありがとう!Swift
Thank you Swift !!!
Thank you Swift !!!
567デフォルトの名無しさん (ワッチョイ 9354-HD4O)
2017/05/13(土) 08:57:29.66ID:Z7L9CwYa0 低消費電力でモデム内蔵のARMベースプロセッサを使ったWindows 10マシン
今年年末に登場しそう。
今年年末に登場しそう。
568デフォルトの名無しさん (アウアウエー Sa5f-PerL)
2017/05/13(土) 09:37:10.68ID:rqW5CPNwa C#の方が開発効率がいいってこともないしな
569デフォルトの名無しさん (ササクッテロリ Sp27-ZDB1)
2017/05/13(土) 09:52:22.76ID:GNfu9LRLp 言語(swift)と開発環境(Xamarin)を比較しても意味もなし
でも久し振りのXamarinステマ荒しは懐かしくて感慨深い
MS買収前に結構必死にステマしに来てたよな
挙げ句、荒し隔離のためXamarin本スレが立てられたのは何年前か
でも久し振りのXamarinステマ荒しは懐かしくて感慨深い
MS買収前に結構必死にステマしに来てたよな
挙げ句、荒し隔離のためXamarin本スレが立てられたのは何年前か
570デフォルトの名無しさん (ワッチョイ cf92-+5FQ)
2017/05/13(土) 11:40:17.12ID:XbcTyLeU0 業務でXcode以外でSwift使ってる人いる?
571デフォルトの名無しさん (ワッチョイ 7fc8-k0lx)
2017/05/13(土) 12:59:31.23ID:zXljI+dv0572デフォルトの名無しさん (ワッチョイ 1346-YxKb)
2017/05/13(土) 13:04:23.39ID:As0eJ5kQ0 >>570
Xcodeの補完機能があってこそかろうじて使えるswiftをわざわざ他の環境で使うメリットがあると思うなら書いて欲しい
Xcodeの補完機能があってこそかろうじて使えるswiftをわざわざ他の環境で使うメリットがあると思うなら書いて欲しい
573デフォルトの名無しさん (ササクッテロリ Sp27-ZDB1)
2017/05/13(土) 13:15:08.25ID:GNfu9LRLp IntelliJ系列のどこぞのIDEがswiftもサポートしてたはずで
Android Studioと操作が変わらないから Android/iOS平行実装の開発効率が良い、と夢物語を言ってみる
実際はstoryboardを十分に扱えない時点で耐えないんだけども
UI伴わないライブラリ部分の実装なら可能性はある?
Android Studioと操作が変わらないから Android/iOS平行実装の開発効率が良い、と夢物語を言ってみる
実際はstoryboardを十分に扱えない時点で耐えないんだけども
UI伴わないライブラリ部分の実装なら可能性はある?
574デフォルトの名無しさん (ワッチョイ 23a3-ftkE)
2017/05/13(土) 13:18:23.20ID:xkrIKHJy0 >>571
アザっす!
アザっす!
575デフォルトの名無しさん (ワッチョイ 7ff3-BNIj)
2017/05/13(土) 14:31:08.02ID:ip/BeLNq0 ちょっとしたことでXcode立ち上げるのめんどいときはAtomやVimもよく使う
576デフォルトの名無しさん (ワッチョイ 9354-7uY6)
2017/05/13(土) 14:41:37.17ID:Z7L9CwYa0577デフォルトの名無しさん (アウアウエー Sa5f-PerL)
2017/05/13(土) 14:47:23.12ID:OMAeHVCMa Xcodeは普通立ち上げっぱなしやろ
578デフォルトの名無しさん (ササクッテロリ Sp27-ZDB1)
2017/05/13(土) 23:05:16.12ID:GNfu9LRLp vim + swiftc は正義
メモリ4Gの安いものMBAだとXcodeも重くてたまらんわー
メモリ4Gの安いものMBAだとXcodeも重くてたまらんわー
579デフォルトの名無しさん (ワッチョイ 9354-7uY6)
2017/05/14(日) 09:22:38.57ID:HODPBKt90580デフォルトの名無しさん (アウアウウー Sa87-OE3N)
2017/05/14(日) 20:05:43.28ID:oVGn9/4Pa 【北朝鮮ミサイル】射程4000キロ超か
株売って、疎開せえやwww
株売って、疎開せえやwww
581デフォルトの名無しさん (ワッチョイ 9354-7uY6)
2017/05/14(日) 20:21:34.19ID:HODPBKt90 >>577
Xcodeたち上げっぱなし、俺もそう。
Xcodeたち上げっぱなし、俺もそう。
582デフォルトの名無しさん (ワッチョイ 9354-7uY6)
2017/05/14(日) 20:25:19.44ID:HODPBKt90 開発機の予備が欲しいんだけど、どっちが良いだろう?
MacBook Air 1600/13.3 MMGF2J/A
最安価格(税込):¥86,726
MacBook Pro Retinaディスプレイ 2700/13.3 MF839J/A
最安価格(税込):¥118,330
どちらも外部LCD接続で使用予定。
MacBook Air 1600/13.3 MMGF2J/A
最安価格(税込):¥86,726
MacBook Pro Retinaディスプレイ 2700/13.3 MF839J/A
最安価格(税込):¥118,330
どちらも外部LCD接続で使用予定。
583デフォルトの名無しさん (ワッチョイ 9354-7uY6)
2017/05/14(日) 20:28:05.05ID:HODPBKt90 iMac Retina 4Kディスプレイモデル MK452J/A [3100]
Retina 4Kディスプレイ搭載のiMac
最安価格(税込):¥138,799 (前週比:-26円↓)
開発機にはこれが良いかも。Quad Coreだし、16GBメモリへ増設可能だし。
Retina 4Kディスプレイ搭載のiMac
最安価格(税込):¥138,799 (前週比:-26円↓)
開発機にはこれが良いかも。Quad Coreだし、16GBメモリへ増設可能だし。
584デフォルトの名無しさん (ワッチョイ 3303-KB2y)
2017/05/14(日) 23:04:39.52ID:uv93vc4+0 atomの立ち上げ時間も結構しんどいよ…
585デフォルトの名無しさん (アウアウウー Sa87-Y/UN)
2017/05/15(月) 11:57:21.79ID:EZXo4zola 開発機の予備なら何でもいいんじゃない。
Appleはそれほど種類があるわけでもないし。
Appleはそれほど種類があるわけでもないし。
586デフォルトの名無しさん (アウアウエー Sa5f-PerL)
2017/05/15(月) 16:35:12.83ID:GeJVogvRa 鼻味噌
587デフォルトの名無しさん (ワッチョイ 93f3-LQvu)
2017/05/16(火) 09:55:12.80ID:5DkIZU+i0 ちょいと長いコード(170lines)なんですが、コンパイル出来ずに困ってます。
http://swift.sandbox.bluemix.net/#/repl/591a4c9525273037d6da9847
ERROR at line 64, col 9: value of type 'Bag<AnyObserver<String>>' has no member 'on'
bag.on(.next(value))
RxSwiftと同じ動きをするclass, protocolを自作しようとしているコードなんですが、コンパイル成功させるにはどの様に修正すれば良いでしょう?
コードのオリジナルは、
http://qiita.com/gomi_ningen/items/dc08a8a5514be9aa0eb2
から拾って来ました。オリジナルをSwift3.1へ移植したコードをswift.sandbox.bluemixへ貼りました。
http://swift.sandbox.bluemix.net/#/repl/591a4c9525273037d6da9847
ERROR at line 64, col 9: value of type 'Bag<AnyObserver<String>>' has no member 'on'
bag.on(.next(value))
RxSwiftと同じ動きをするclass, protocolを自作しようとしているコードなんですが、コンパイル成功させるにはどの様に修正すれば良いでしょう?
コードのオリジナルは、
http://qiita.com/gomi_ningen/items/dc08a8a5514be9aa0eb2
から拾って来ました。オリジナルをSwift3.1へ移植したコードをswift.sandbox.bluemixへ貼りました。
588デフォルトの名無しさん (ワッチョイ e33c-ijnK)
2017/05/16(火) 11:59:38.46ID:ICwew/1a0 >>587
記事が2016年という前提で
↓のextensionが足りない
https://github.com/ReactiveX/RxSwift/blob/b628f2a105c3745e092300fa93d54b929eba59a1/RxSwift/Extensions/Bag%2BRx.swift
正常動作かどうかは知らないがとりあえず追加
http://swift.sandbox.bluemix.net/#/repl/591a698acfa69e773dc97f42
記事が2016年という前提で
↓のextensionが足りない
https://github.com/ReactiveX/RxSwift/blob/b628f2a105c3745e092300fa93d54b929eba59a1/RxSwift/Extensions/Bag%2BRx.swift
正常動作かどうかは知らないがとりあえず追加
http://swift.sandbox.bluemix.net/#/repl/591a698acfa69e773dc97f42
589デフォルトの名無しさん (ワッチョイ 93f3-LQvu)
2017/05/16(火) 13:30:21.26ID:5DkIZU+i0590デフォルトの名無しさん (ワッチョイ 93f3-LQvu)
2017/05/16(火) 16:38:05.02ID:5DkIZU+i0 >>588
あんた、達人だね。
あんた、達人だね。
591デフォルトの名無しさん (ワッチョイ 93c6-U5YD)
2017/05/16(火) 21:01:58.80ID:V62zB62H0 RxSwiftみたいな何年も前の流行りモノを業務時間内に学習してる後輩/部下がいたら指導するわw
Swift 2.xの頃にEitherフレームワークが便利!と食いついて3.0でorzになった奴らと大して変わらんと思うんよ
Either、使いやすそうだったから言語公式に入ってくれたら良かったのになぁ
3.0でthrowsが入った時には、ObjCとの兼ね合い上、そうなるしかないのか・・・とSwiftに対して諦観した
Swift 2.xの頃にEitherフレームワークが便利!と食いついて3.0でorzになった奴らと大して変わらんと思うんよ
Either、使いやすそうだったから言語公式に入ってくれたら良かったのになぁ
3.0でthrowsが入った時には、ObjCとの兼ね合い上、そうなるしかないのか・・・とSwiftに対して諦観した
592デフォルトの名無しさん (ワッチョイ 7ff3-BNIj)
2017/05/17(水) 00:39:16.19ID:Ohq1+PUR0 throwsが入ったのは2.0だが
593デフォルトの名無しさん (ワッチョイ 7f79-SU9n)
2017/05/17(水) 01:01:44.90ID:jqU81Xra0594デフォルトの名無しさん (ワッチョイ 7f79-SU9n)
2017/05/17(水) 01:03:27.25ID:jqU81Xra0595デフォルトの名無しさん (アウアウエー Sa5f-PerL)
2017/05/17(水) 01:09:00.66ID:wBpGRZBOa C#とかJavaってテキストエディタだけでも生産性高いの?
596デフォルトの名無しさん (アウアウエー Sa5f-Y/UN)
2017/05/17(水) 02:12:48.46ID:v4KZ2kPEa C#はC#6以降は割とマジで生産性高い。
kindle本からのコピペでスペースがおかしいが。。。
u s i n g S y s t e m ;
u s i n g s t a t i c S y s t e m . C o n s o l e ;
c l a s s P r o g r a m {
s t a t i c v o i d M a i n ( s t r i n g [ ] a r g s ) {
W r i t e L i n e ( " H e l l o W o r l d ! " ) ;
}
}
using staticでSystem.Consoleまで指定すればWriteLineだけで良くなった。
その他色々短縮したり仕様上、出来なかったことが出来るようになったり。
kindle本からのコピペでスペースがおかしいが。。。
u s i n g S y s t e m ;
u s i n g s t a t i c S y s t e m . C o n s o l e ;
c l a s s P r o g r a m {
s t a t i c v o i d M a i n ( s t r i n g [ ] a r g s ) {
W r i t e L i n e ( " H e l l o W o r l d ! " ) ;
}
}
using staticでSystem.Consoleまで指定すればWriteLineだけで良くなった。
その他色々短縮したり仕様上、出来なかったことが出来るようになったり。
597デフォルトの名無しさん (ワッチョイ 93c6-U5YD)
2017/05/17(水) 09:19:35.81ID:ZxePWPEe0598デフォルトの名無しさん (ワッチョイ e33c-w1r4)
2017/05/17(水) 11:35:09.00ID:q4Dy9Gb80 >>596
これだけじゃぁ何がすごいのかわからないなりよ
これだけじゃぁ何がすごいのかわからないなりよ
599デフォルトの名無しさん (ササクッテロリ Sp27-U5YD)
2017/05/17(水) 13:56:25.22ID:8ydAfzFNp 以前は
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("HelloWorld!");
}
}
だったものが
using System;
using static System.Console;
class Program {
static void Main(string[] args) {
WriteLine("HelloWorld!");
}
}
で済むようになった、すごい!
なお、Swiftでは以下の一行で済む、Swiftもっとすごい!
print("HelloWorld!")
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("HelloWorld!");
}
}
だったものが
using System;
using static System.Console;
class Program {
static void Main(string[] args) {
WriteLine("HelloWorld!");
}
}
で済むようになった、すごい!
なお、Swiftでは以下の一行で済む、Swiftもっとすごい!
print("HelloWorld!")
600デフォルトの名無しさん (ササクッテロレ Sp27-PerL)
2017/05/17(水) 14:03:46.15ID:AiW2lEeYp :::::::: ┌─────────────── ┐
:::::::: | C#がやられたようだな…. │
::::: ┌───└───────────v───┬┘
::::: |フフフ…奴は四天王の中でも最弱 …. │
┌──└────────v──┬───────┘
| Swiftごときに笑われるとは │
| 我ら四天王の面汚しよ… │
└────v─────────┘
|ミ, / `ヽ /! ,.──、
|彡/二Oニニ|ノ /三三三!, |!
`,' \、、_,|/-ャ ト `=j r=レ /ミ !彡
T 爪| / / ̄|/´__,ャ |`三三‐/ |`=、|,='|
/人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-, 、 _!_ /
/ `ー─'" |_,.イ、 | |/、 Y /| | | j / ミ`┴'彡\
C++ Java JavaScript
:::::::: | C#がやられたようだな…. │
::::: ┌───└───────────v───┬┘
::::: |フフフ…奴は四天王の中でも最弱 …. │
┌──└────────v──┬───────┘
| Swiftごときに笑われるとは │
| 我ら四天王の面汚しよ… │
└────v─────────┘
|ミ, / `ヽ /! ,.──、
|彡/二Oニニ|ノ /三三三!, |!
`,' \、、_,|/-ャ ト `=j r=レ /ミ !彡
T 爪| / / ̄|/´__,ャ |`三三‐/ |`=、|,='|
/人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-, 、 _!_ /
/ `ー─'" |_,.イ、 | |/、 Y /| | | j / ミ`┴'彡\
C++ Java JavaScript
601デフォルトの名無しさん (ワッチョイ e33c-ijnK)
2017/05/17(水) 17:22:44.69ID:i1ICJ16i0 /ミ !彡 ●
|`=、|,='| _(_
、 _!_ / ( ゚ω゚ )
/ ミ`┴'彡\ ' `
Visual Basic
|`=、|,='| _(_
、 _!_ / ( ゚ω゚ )
/ ミ`┴'彡\ ' `
Visual Basic
602デフォルトの名無しさん (アウアウエー Sa5f-Y/UN)
2017/05/17(水) 23:03:15.55ID:Noyf0zx+a あれ。。。
SwiftってもしかしてLL?
インタプリタ?
SwiftってもしかしてLL?
インタプリタ?
603デフォルトの名無しさん (アウアウエー Sa5f-Y/UN)
2017/05/17(水) 23:06:00.60ID:Noyf0zx+a とりまC#6の新機能紹介のページググったわ
http://www.buildinsider.net/language/csharplang/0600
http://www.buildinsider.net/language/csharplang/0600
604デフォルトの名無しさん (スップ Sd6a-JjKW)
2017/05/18(木) 09:19:16.04ID:pNgi+zrhd605デフォルトの名無しさん (ワッチョイ 334c-ydzL)
2017/05/18(木) 10:03:29.76ID:pE9H07RL0 表面的なコード量が長いことをコンプレックスに持ってる言語もいるよね・・・
そして、一長一短の他者を認めることもなく他言語を総じて悪と本気で思ってたり
>>603
ざっと見たけどSwiftで同等のこと出来てね?所詮、四天王最弱か
そして、一長一短の他者を認めることもなく他言語を総じて悪と本気で思ってたり
>>603
ざっと見たけどSwiftで同等のこと出来てね?所詮、四天王最弱か
606デフォルトの名無しさん (ワッチョイ 6f54-OqRC)
2017/05/18(木) 10:44:29.14ID:rvD/i38o0607デフォルトの名無しさん (ワッチョイ 5a6e-p3s1)
2017/05/18(木) 11:51:08.83ID:cbVNyV680 Playgroundでシコシコ遊んでると、そのうち出力が表示されなくなったり無反応になるんだが
どうにかならんもんかね
どうにかならんもんかね
608デフォルトの名無しさん (ワッチョイ 6f54-OqRC)
2017/05/18(木) 12:01:12.99ID:rvD/i38o0609デフォルトの名無しさん (ワッチョイ aa3c-YD3J)
2017/05/18(木) 13:53:48.78ID:cxDrW8CM0 Apple無念・・・
Google、KotlinをAndroidアプリ開発言語に選定―I/O会場から大喝采
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
Google、KotlinをAndroidアプリ開発言語に選定―I/O会場から大喝采
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
610デフォルトの名無しさん (アウアウエー Sa22-PCQh)
2017/05/18(木) 13:59:24.41ID:TSzqrQQ0a611デフォルトの名無しさん (ワッチョイ 9372-+Mvj)
2017/05/18(木) 14:56:56.01ID:73+z2CN30 >>609
何が無念?
何が無念?
612デフォルトの名無しさん (ワッチョイ 833c-0jzF)
2017/05/18(木) 15:59:16.23ID:xh1cvqBY0 Swiftにならなかった、ということだろう
Google、SwiftをAndroidの第一級言語にすることを検討?
http://www.excite.co.jp/News/it_g/20160409/Slashdot_16_04_09_014248.html
Google、SwiftをAndroidの第一級言語にすることを検討?
http://www.excite.co.jp/News/it_g/20160409/Slashdot_16_04_09_014248.html
613デフォルトの名無しさん (ワッチョイ 6f54-cCxu)
2017/05/18(木) 16:19:36.22ID:rvD/i38o0614デフォルトの名無しさん (ワッチョイ 6f54-cCxu)
2017/05/18(木) 16:24:16.64ID:rvD/i38o0615デフォルトの名無しさん (ワッチョイ 6f54-cCxu)
2017/05/18(木) 16:25:14.83ID:rvD/i38o0 swift -> kotlinコンバーターとか作れるのかなぁ?
616デフォルトの名無しさん (ササクッテロリ Sp13-CR9d)
2017/05/18(木) 16:32:06.75ID:fOFaQvk5p SwiftはLLVMでコンパイルするんだからJVM向けバイナリ吐けばいいだけでしょ
なんでKotlinを挟む必要があるのか、それがワカラナイ(色んな意味でスットボケ
なんでKotlinを挟む必要があるのか、それがワカラナイ(色んな意味でスットボケ
617デフォルトの名無しさん (ワッチョイ 6f54-cCxu)
2017/05/18(木) 16:33:43.40ID:rvD/i38o0618デフォルトの名無しさん (スプッッ Sd8a-M94C)
2017/05/19(金) 20:58:58.36ID:RywFaTWpd swiftでiOS勉強したいのですが、参考になるOSSのアプリとか無いでしょうか
ドキュメントから入るより出来の良いコードを見たい派です
ドキュメントから入るより出来の良いコードを見たい派です
619デフォルトの名無しさん (ワッチョイ 7a6e-p3s1)
2017/05/19(金) 21:13:02.47ID:lzW4mJ600 GitHubにいっぱいあるだろ
620デフォルトの名無しさん (ワンミングク MM07-yI6Q)
2017/05/20(土) 13:02:32.18ID:wa2Zpry6M >>614
同意
同意
621デフォルトの名無しさん (ワッチョイ b33c-kvD5)
2017/05/20(土) 14:50:47.85ID:tp08styd0 Kotlinのval,varはScala先輩に倣ったものだから仕方ない
622デフォルトの名無しさん (ワッチョイ de1f-ysFl)
2017/05/21(日) 00:39:31.16ID:gwfvvdvz0 swift はそろそろ安定期に入ってもいいと思うんだ
623デフォルトの名無しさん (ワッチョイ 5f54-OqRC)
2017/05/21(日) 09:35:27.70ID:PKguD9Ia0 >>622
bugレポ、沢山上がってるが、これはどうする?
bugレポ、沢山上がってるが、これはどうする?
624デフォルトの名無しさん (ワッチョイ c372-+Mvj)
2017/05/21(日) 11:11:35.71ID:xz6V7we20 バグレポを出す時にプルリクをセットにすれば安定はすぐだ
625デフォルトの名無しさん (ワッチョイ ff46-aHqd)
2017/05/21(日) 11:13:42.65ID:Wx20c4Ig0 >>622
無理無理
無理無理
626デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/22(月) 09:20:46.59ID:QM6p1JyG0627デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/22(月) 09:23:11.36ID:QM6p1JyG0 Swift4 betaをinstallした後、Xcode8.3.2で切り替えながら使うqiita記事を見失った。
なんと言うタイトルだったか?どんなtagでqiitaを検索すればhitするのか?
教えてクレェ?
なんと言うタイトルだったか?どんなtagでqiitaを検索すればhitするのか?
教えてクレェ?
628デフォルトの名無しさん (ワッチョイ 8af3-TEJk)
2017/05/22(月) 10:13:24.24ID:np8fDJ8H0 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で色々試せていい
https://github.com/ole/whats-new-in-swift-4
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で色々試せていい
https://github.com/ole/whats-new-in-swift-4
629デフォルトの名無しさん (ササクッテロリ Sp03-CR9d)
2017/05/22(月) 10:14:58.82ID:WxrTRTpJp xcrun selectとか(定期待ち)
630デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/22(月) 10:47:13.23ID:QM6p1JyG0631デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/23(火) 10:52:51.90ID:3fZmvxNt0 Swift歴2年、アプリリリース経験無しの非IT系リーマンです。Generics protocolとか難しいなぁと思いながら、RxSwiftのコードを解読してます。
Fortran, C++のコードを書いて金をもらった事があります。C#, Java, Obj-Cもチョコっといじった事があります。
Swift, C#, Java, C++の4つの内、どれが一番難しいと思います?
Fortran, C++のコードを書いて金をもらった事があります。C#, Java, Obj-Cもチョコっといじった事があります。
Swift, C#, Java, C++の4つの内、どれが一番難しいと思います?
632デフォルトの名無しさん (ワッチョイ 7a6e-p3s1)
2017/05/23(火) 11:07:24.17ID:nyMT4OHb0 難しさでいったら、C++ 一択やろなぁ
633デフォルトの名無しさん (アウアウエー Sac2-PCQh)
2017/05/23(火) 11:12:58.06ID:3W0XlzKra 圧倒的にC++。
今でもMFCには玄人っぽさへの憧れはあるけど、MFCの本は最盛期に比べて大分減ったなぁ。。。
JavaやC#してから(特にC#のがC++に近いけど分からなくなる一歩手前まで取り入れてるからオススメ)、C++行くと理解が進むね。
今でもMFCには玄人っぽさへの憧れはあるけど、MFCの本は最盛期に比べて大分減ったなぁ。。。
JavaやC#してから(特にC#のがC++に近いけど分からなくなる一歩手前まで取り入れてるからオススメ)、C++行くと理解が進むね。
634デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/23(火) 11:52:49.93ID:3fZmvxNt0 AppleのReferenceで混乱してる記述を発見
1. メタ・タイプを戻すグローバル関数type(of:)の説明には、戻り値がMetatypeとある。
2. メタ・タイプを引数にとるUITableViewCell.registerの説明には、引数がAnyClassとある。
どっちかに記述を統一してほしい。
1. メタ・タイプを戻すグローバル関数type(of:)の説明には、戻り値がMetatypeとある。
2. メタ・タイプを引数にとるUITableViewCell.registerの説明には、引数がAnyClassとある。
どっちかに記述を統一してほしい。
635デフォルトの名無しさん (ワッチョイ 8af3-TEJk)
2017/05/23(火) 13:01:08.53ID:IPskfFz70 Metatypeはstructやenumも含めた型でAnyClassはclassだけじゃない
636デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/23(火) 13:07:30.75ID:3fZmvxNt0 >>635
なるほどぉ
なるほどぉ
637デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/23(火) 13:46:30.45ID:3fZmvxNt0 >>633
Visual Studio6の頃までしか、MFCは知らんけど、
Microsoftは、MFCを放置してるんちゃうの?
同時に、C++11, C++14って進化してるのに、Micorsoft C++はこれも独自仕様
で放置されてる、ちゅうのが俺の印象なんすけど、違うんでしょうか?
最近のMicrosoft系開発環境に疎いので間違ってたら申し訳ないすけど。
Visual Studio6の頃までしか、MFCは知らんけど、
Microsoftは、MFCを放置してるんちゃうの?
同時に、C++11, C++14って進化してるのに、Micorsoft C++はこれも独自仕様
で放置されてる、ちゅうのが俺の印象なんすけど、違うんでしょうか?
最近のMicrosoft系開発環境に疎いので間違ってたら申し訳ないすけど。
638デフォルトの名無しさん (ワッチョイ b33c-0jzF)
2017/05/23(火) 14:21:59.30ID:ka9VvDM30 >>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
違いは>>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
639デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/23(火) 17:12:29.92ID:3fZmvxNt0 /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番目のソースって事なんでしょうか?
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番目のソースって事なんでしょうか?
640デフォルトの名無しさん (アウアウエー Sac2-PCQh)
2017/05/23(火) 18:36:11.48ID:PJIONmxya >>637
リボンUIはMFCらしいってのまでは追ってたんで、今も地味に進化してると思うけど、おいらも分からん。
あの機能は何の為かとか分かるようになったけど、結局C++触らなくなった。
再入門しようにも入門書の少なさよ。。。
リボンUIはMFCらしいってのまでは追ってたんで、今も地味に進化してると思うけど、おいらも分からん。
あの機能は何の為かとか分かるようになったけど、結局C++触らなくなった。
再入門しようにも入門書の少なさよ。。。
641デフォルトの名無しさん (ワッチョイ ca3b-ydzL)
2017/05/23(火) 19:14:39.26ID:1Q8iu32F0 ビルドキャッシュとして
/var/folders/4x/4kvmnvfd46zdv9xt45wf2kx00000gn/T/vzb3TAU/1
ってファイルがあるんじゃないの
一時的に作られてすぐ削除されるかもしれんから存在確認できるか知らんけど
/var/folders/4x/4kvmnvfd46zdv9xt45wf2kx00000gn/T/vzb3TAU/1
ってファイルがあるんじゃないの
一時的に作られてすぐ削除されるかもしれんから存在確認できるか知らんけど
642デフォルトの名無しさん (ワッチョイ fff5-sZ5x)
2017/05/24(水) 01:14:07.99ID:9HF6LZlN0 そもそもwindowsのアプリ開発でMFC使う事情って保守以外に何あるの?
643デフォルトの名無しさん (ワッチョイ ca3b-ydzL)
2017/05/24(水) 07:14:18.79ID:6yksy5B10 このスレチの話題の結末が
MFCがmacOSで使える、そうSwiftならね
だったら感動する
MFCがmacOSで使える、そうSwiftならね
だったら感動する
644デフォルトの名無しさん (アウアウエー Sac2-PCQh)
2017/05/24(水) 10:39:54.11ID:2xFOJ35Oa 感動はするけど、真っ平御免だなw
645デフォルトの名無しさん (アウアウエー Sac2-PCQh)
2017/05/24(水) 10:40:45.91ID:2xFOJ35Oa646デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/24(水) 10:44:09.55ID:vuqBov/y0647デフォルトの名無しさん (JP 0H2f-CgLL)
2017/05/24(水) 11:45:23.69ID:4nncZNTTH MFCはクラスライブラリとは言ってるけどただのモジュールだからなω
648デフォルトの名無しさん (ワッチョイ 7a6e-p3s1)
2017/05/24(水) 12:03:02.42ID:2l4fECtb0 KFCはファーストフードとは言ってるけどただのフライドチキンだからなω
649デフォルトの名無しさん (JP 0H2f-CgLL)
2017/05/24(水) 12:10:44.50ID:4nncZNTTH KFC高いよね
650デフォルトの名無しさん (アウアウエー Sac2-9r6K)
2017/05/24(水) 12:40:42.62ID:QzCZ6xD4a あとポケトも不味いよね
651デフォルトの名無しさん (ササクッテロリ Sp03-ydzL)
2017/05/24(水) 12:43:35.78ID:5Ui6S+Mpp macもファストフードって言ってるけどハンバーガーなんだよな...
652デフォルトの名無しさん (ワッチョイ fff5-sZ5x)
2017/05/24(水) 15:21:05.18ID:9HF6LZlN0 もうkotlinでいいんじゃね。大体同じだし。
653デフォルトの名無しさん (ワッチョイ 7a6e-p3s1)
2017/05/24(水) 15:27:20.63ID:yyV+KPjA0 Kotlinの方が名前が可愛いな
654デフォルトの名無しさん (ブーイモ MMea-XqYc)
2017/05/24(水) 15:39:03.23ID:EADXj+S1M バカッターの次はマスト鈍かよ
Swiftはコンパイル必要とかスクリプト言語だとかクッソデタラメばかり撒き散らしてやがる
Swiftはスクリプト言語のようにJIT実行もできるし事前コンパイルして動作することもできるっちゅーねん
よくわかってないからと言って既存のカテゴリに当てはめようとするからおかしくなるんだ。黙ってればいいのに。
twitterもマストドンもバカに絡まれたくないから間違ってても誰も訂正してくれないてことはもうそろそろ理解しないといけないだろうに
Swiftはコンパイル必要とかスクリプト言語だとかクッソデタラメばかり撒き散らしてやがる
Swiftはスクリプト言語のようにJIT実行もできるし事前コンパイルして動作することもできるっちゅーねん
よくわかってないからと言って既存のカテゴリに当てはめようとするからおかしくなるんだ。黙ってればいいのに。
twitterもマストドンもバカに絡まれたくないから間違ってても誰も訂正してくれないてことはもうそろそろ理解しないといけないだろうに
655デフォルトの名無しさん (ワッチョイ dea3-M94C)
2017/05/24(水) 15:43:46.34ID:820zba2j0 つまりkotlin統一でいいね?
656デフォルトの名無しさん (ワッチョイ 9ff3-A/6v)
2017/05/24(水) 16:16:47.79ID:vuqBov/y0 kotlinのvar, valが嫌いだ。
var, letにしてくれ!
var, letにしてくれ!
657デフォルトの名無しさん (ワッチョイ b33c-0jzF)
2017/05/24(水) 17:53:01.63ID:IPRnvfLw0 じゃあvar, letにした新言語Kotiftで
658デフォルトの名無しさん (アウアウエー Sac2-PCQh)
2017/05/24(水) 18:40:00.41ID:fS2T0Ehba659デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/25(木) 08:20:49.95ID:STB2bQ410660デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/25(木) 08:39:03.16ID:STB2bQ410 RAD StudioってのでiOSアプリ作れるみたい。
661デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/25(木) 09:04:58.00ID:STB2bQ410662デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 09:55:30.40ID:pDlob0Fd0 >>661
ブラクラ
ブラクラ
663デフォルトの名無しさん (JP 0Hcf-Evzo)
2017/05/25(木) 10:26:57.11ID:nE79I92lH ブラクラではないが特に読む意味もなかった
664デフォルトの名無しさん (アウアウエー Sa3f-0req)
2017/05/25(木) 10:35:05.59ID:jD8c7u6va665デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/25(木) 11:18:46.81ID:STB2bQ410666デフォルトの名無しさん (スッップ Sdbf-fYd5)
2017/05/25(木) 12:08:23.03ID:ETNdktOYd >>662
ブラクラとは、どういう意味ですか。
ブラクラとは、どういう意味ですか。
667デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 12:36:36.05ID:pDlob0Fd0 >>666
ブラクラとは、どういう意味ですか。とは、どういう意味ですか?
ブラクラとは、どういう意味ですか。とは、どういう意味ですか?
668デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/25(木) 12:53:08.46ID:STB2bQ410 >>667
お前、相当、捻くれ者!
お前、相当、捻くれ者!
669デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 13:09:18.12ID:pDlob0Fd0 >>668
ありがとー
ありがとー
670デフォルトの名無しさん (ワッチョイ 9ff3-UHtP)
2017/05/25(木) 13:38:00.17ID:A2RaX9kE0 完全にスレチな話題延々してるのとどっちもどっち
671デフォルトの名無しさん (ワッチョイ fbf3-W32U)
2017/05/25(木) 16:35:11.41ID:trjr6FJg0 下のドキュメントを読むにCopy On Writeで最適化する場合にはprotocolやclassでラップせよと言ってるんだけど
Copy On Writeって関数引数に単純なstruct型を渡した時の値渡しには適用されないって認識であってる?
教えてエロい人
https://github.com/apple/swift/blob/master/docs/OptimizationTips.rst
Advice: Use copy-on-write semantics for large values
Copy On Writeって関数引数に単純なstruct型を渡した時の値渡しには適用されないって認識であってる?
教えてエロい人
https://github.com/apple/swift/blob/master/docs/OptimizationTips.rst
Advice: Use copy-on-write semantics for large values
672デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 17:14:53.66ID:pDlob0Fd0 どこに
>Copy On Writeで最適化する場合にはprotocolやclassでラップせよ
とか書いてあんだよ
>Copy On Writeって関数引数に単純なstruct型を渡した時の値渡しには適用されないって認識であってる?
んなわけねーだろ
>Copy On Writeで最適化する場合にはprotocolやclassでラップせよ
とか書いてあんだよ
>Copy On Writeって関数引数に単純なstruct型を渡した時の値渡しには適用されないって認識であってる?
んなわけねーだろ
673デフォルトの名無しさん (ワッチョイ fbf3-W32U)
2017/05/25(木) 17:36:25.00ID:trjr6FJg0 あ、すまん、Advice:の節を注視して前の節を飛ばしてた
> When we copy values (the effect of assignment, initialization, and argument passing) the program will create a new copy of the value.
値渡しはコピーするってしっかり書いてあったわ
> When we copy values (the effect of assignment, initialization, and argument passing) the program will create a new copy of the value.
値渡しはコピーするってしっかり書いてあったわ
674デフォルトの名無しさん (ワッチョイ 9ff3-UHtP)
2017/05/25(木) 17:42:45.12ID:A2RaX9kE0 structは常にコピー
このstructはcopy on writeです、という場合も便宜上そう言ってるだけで、実際は中の参照型のストレージをcopy on writeしてるんであってstruct自体は常にコピー
ただしin-out引数だけは例外的にstructでも参照渡しになる場合がある
このstructはcopy on writeです、という場合も便宜上そう言ってるだけで、実際は中の参照型のストレージをcopy on writeしてるんであってstruct自体は常にコピー
ただしin-out引数だけは例外的にstructでも参照渡しになる場合がある
675デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 17:46:16.79ID:pDlob0Fd0 copy on writeだから、コビーの必要性が生じた時にコピーが発生するんだろ
structであっても参照するだけならコピーはしない(はず)
structであっても参照するだけならコピーはしない(はず)
676デフォルトの名無しさん (ワッチョイ fbf3-W32U)
2017/05/25(木) 17:59:30.69ID:trjr6FJg0677デフォルトの名無しさん (ワッチョイ fbf3-W32U)
2017/05/25(木) 18:01:40.91ID:trjr6FJg0 structの参照渡しのためのin-out parameter(inout)は使いたくないと思った
それするなら、最初からclassでAPIを設計しろというね
それするなら、最初からclassでAPIを設計しろというね
678デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 18:02:56.87ID:pDlob0Fd0 >>676
常にコピーなら、コピーオンライトとは呼べないな
常にコピーなら、コピーオンライトとは呼べないな
679デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 18:12:33.09ID:pDlob0Fd0 >>677
inoutを指定しなくないから、クラスにするって考え方がそもそもおかしい
inoutを指定しなくないから、クラスにするって考え方がそもそもおかしい
680デフォルトの名無しさん (スプッッ Sdbf-4cAo)
2017/05/25(木) 18:31:58.93ID:ud72tGp9d >>678
メモリ操作としてのコピーと、変数への代入時の複製を混同すると、そういう訳のわからない議論になるね
structはコピーオンライトと言っても、osやハードウェアのレイヤーになるとclassであっても必要に応じてコピー(と消去を組み合わせた移動)を行ってるんだけどね。
swiftのレイヤーでは、常にコピーされるって言って良いんじゃないかな
コピーの為に支払うコストがいつ払うことになるか、そもそも払う必要が生じるのか、っていう部分にコピーオンライトの概念が関係してくるだけなんだから
メモリ操作としてのコピーと、変数への代入時の複製を混同すると、そういう訳のわからない議論になるね
structはコピーオンライトと言っても、osやハードウェアのレイヤーになるとclassであっても必要に応じてコピー(と消去を組み合わせた移動)を行ってるんだけどね。
swiftのレイヤーでは、常にコピーされるって言って良いんじゃないかな
コピーの為に支払うコストがいつ払うことになるか、そもそも払う必要が生じるのか、っていう部分にコピーオンライトの概念が関係してくるだけなんだから
681デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 18:40:08.35ID:pDlob0Fd0 >>680
ごちゃごちゃした理論は言語設計者の領域の話で
プラグラマ視点でのコピーオンライトという文脈では書き換え時にコピー(コスト)が発生するという単純な理解で特に問題ないだろ
じゃないと、Structは常にコピーが発生するからデータの粒度をなるべく小さくして関数への引数渡しも注意しないととか余計な設計負荷を意識しないといけなくなる
ごちゃごちゃした理論は言語設計者の領域の話で
プラグラマ視点でのコピーオンライトという文脈では書き換え時にコピー(コスト)が発生するという単純な理解で特に問題ないだろ
じゃないと、Structは常にコピーが発生するからデータの粒度をなるべく小さくして関数への引数渡しも注意しないととか余計な設計負荷を意識しないといけなくなる
682デフォルトの名無しさん (ササクッテロリ Sp0f-W32U)
2017/05/25(木) 19:05:12.83ID:rwN5JfUNp structは値渡し、classは参照渡し、Array Structの中身はCOWで処理、プログラマはこれを意識して最適化しろ
と>>671のリンク先で言ってるわけだが?
プログラマのレイヤーで考えるべきことが提示されてるのに、なぜそれを見ようとしないのか
と>>671のリンク先で言ってるわけだが?
プログラマのレイヤーで考えるべきことが提示されてるのに、なぜそれを見ようとしないのか
683デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/25(木) 19:55:10.84ID:pDlob0Fd0 でかいデータをstructにつっこんで扱う時に注意すべきことが書いてあるだけだろ
つまり代入が頻繁に発生する状況でも、そのプロパティに実際にアクセスがあるまでコピーを遅延させるテクニックについて触れられてるだけ
別に関数の引数に値型を使うなとかとんちんかんなことは書いてないな
つまり代入が頻繁に発生する状況でも、そのプロパティに実際にアクセスがあるまでコピーを遅延させるテクニックについて触れられてるだけ
別に関数の引数に値型を使うなとかとんちんかんなことは書いてないな
684デフォルトの名無しさん (ワッチョイ 9f3c-V38z)
2017/05/25(木) 21:10:12.75ID:1RtxtHBK0 SwiftでCOW意識する人なんているんだ。
そういう人はC++とかRustとか使えばいいのに。
そういう人はC++とかRustとか使えばいいのに。
685デフォルトの名無しさん (ワッチョイ 6b3c-9J/J)
2017/05/25(木) 22:26:04.80ID:VkchUDpW0 最適化しない場所も含めて意識くらいはするでしょ
その程度のことで言語を変える理由にはならんよ
むしろStructでCoWという設計だからこと気兼ねなく渡せるってことに気付いた方がいい
その程度のことで言語を変える理由にはならんよ
むしろStructでCoWという設計だからこと気兼ねなく渡せるってことに気付いた方がいい
686デフォルトの名無しさん (ワッチョイ fbf3-W32U)
2017/05/26(金) 05:16:56.16ID:xRlJL6be0 誤: StructでCoWという設計だからこと気兼ねなく渡せる
正: Array StructでCoWという設計だからこと気兼ねなく渡せる
どうしてもSturct全般でCOWが適用されると思い込みたいアホが食いしばってて笑う
正: Array StructでCoWという設計だからこと気兼ねなく渡せる
どうしてもSturct全般でCOWが適用されると思い込みたいアホが食いしばってて笑う
687デフォルトの名無しさん (ワッチョイ 6b3c-9J/J)
2017/05/26(金) 07:23:41.84ID:nbO+4ovP0 >>686
「Structが」じゃなくて「Structで」な
Arrayに限らず、StringやDictionaryなどのstructでCoWを実装したもの全般
classでCoWを実装する場合は使う側が明示的にcopy()clone()などを呼ぶかinitを使う必要があるが
structでは代入,引数渡し,戻り値がコピーセマンティクスなので透過的に扱うことが出来る
「Structが」じゃなくて「Structで」な
Arrayに限らず、StringやDictionaryなどのstructでCoWを実装したもの全般
classでCoWを実装する場合は使う側が明示的にcopy()clone()などを呼ぶかinitを使う必要があるが
structでは代入,引数渡し,戻り値がコピーセマンティクスなので透過的に扱うことが出来る
688デフォルトの名無しさん (ワッチョイ fbf3-W32U)
2017/05/26(金) 08:03:17.32ID:xRlJL6be0 COWの話題から、いつの間にか参照渡し/値渡しの解説になっててワロタ
結局はSturctでCOWが常時適用されるわけじゃないから気をつけようってこったな
参照渡し/値渡しの違いを知らないLL言語勢もいるかもしれんが、別の問題だから気にしない
>>671のReducing Dynamic Dispatchの節も面白い
SwiftはObjective-Cと違ってダイナミックディスパッチを減らす機構を持ってるぜ、と
これを徹底的に使い倒したら、局所的にはObjCよりSwiftの方が性能よくなる可能性が微レ存?
結局はSturctでCOWが常時適用されるわけじゃないから気をつけようってこったな
参照渡し/値渡しの違いを知らないLL言語勢もいるかもしれんが、別の問題だから気にしない
>>671のReducing Dynamic Dispatchの節も面白い
SwiftはObjective-Cと違ってダイナミックディスパッチを減らす機構を持ってるぜ、と
これを徹底的に使い倒したら、局所的にはObjCよりSwiftの方が性能よくなる可能性が微レ存?
689デフォルトの名無しさん (ワッチョイ 6b3c-nNOo)
2017/05/26(金) 08:31:19.29ID:nbO+4ovP0 細かいところだけどclassは参照の値渡しでinoutは参照渡し
690デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/26(金) 08:45:20.46ID:zBDwmOYm0 >>676
protocolにまつわる言い回しを色々見ますが、どれが適当なのでしょう?
1. protocolを切る
2. protocolを当てる
3. protocolに準拠させる
すべてadding protocol confromanceの訳語だとおもうんですけど。
protocolにまつわる言い回しを色々見ますが、どれが適当なのでしょう?
1. protocolを切る
2. protocolを当てる
3. protocolに準拠させる
すべてadding protocol confromanceの訳語だとおもうんですけど。
691デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/26(金) 08:49:45.12ID:zBDwmOYm0 最近のCPUはSIMD命令(SSEとかAVRとか言われるやつ)を内蔵していて、
でかいStructも一発でコピーできるって、理解は正しいっすかねぇ?
512bitレジスタが32個あって、しかもその32レジスタはペアで使える。
って事は、512bit x 32個 = 2Kbyteを一発でレジスタ -> メモリへmoveしたり
メモリ -> レジスタloadできる。
この理解はOKっすかねぇ。
でかいStructも一発でコピーできるって、理解は正しいっすかねぇ?
512bitレジスタが32個あって、しかもその32レジスタはペアで使える。
って事は、512bit x 32個 = 2Kbyteを一発でレジスタ -> メモリへmoveしたり
メモリ -> レジスタloadできる。
この理解はOKっすかねぇ。
692デフォルトの名無しさん (ワッチョイ 9ff3-UHtP)
2017/05/26(金) 10:19:08.37ID:LS4RNUEG0 >>689
in-out引数は参照渡しじゃない
in-out引数のセマンティクスはあくまでcopy-in copy-outで、最適化で参照渡しになる"場合もある"だけ
リファレンスではin-out引数が参照渡しであると想定したコードを書いてはいけないとはっきり言ってる
https://developer.apple.com/library/content/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"しか表示されない
in-out引数は参照渡しじゃない
in-out引数のセマンティクスはあくまでcopy-in copy-outで、最適化で参照渡しになる"場合もある"だけ
リファレンスではin-out引数が参照渡しであると想定したコードを書いてはいけないとはっきり言ってる
https://developer.apple.com/library/content/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"しか表示されない
693デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/26(金) 10:43:47.67ID:zBDwmOYm0 >>692
すんばらしい、説明
すんばらしい、説明
694デフォルトの名無しさん (ワッチョイ 0f1f-9J/J)
2017/05/27(土) 14:04:16.20ID:SDTaiU/Z0695デフォルトの名無しさん (ワッチョイ 7b46-sPQt)
2017/05/27(土) 21:00:43.52ID:h0JsdT2O0 >>694の心の声
(やべぇ、まじかよ…。バグ仕込んじまった…)
(やべぇ、まじかよ…。バグ仕込んじまった…)
696デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/27(土) 21:48:41.96ID:aL4+kPgB0 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]
ただ、それを想定するなということなんだろ
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]
ただ、それを想定するなということなんだろ
697デフォルトの名無しさん (ワッチョイ 0fd4-ZpYF)
2017/05/27(土) 21:57:51.65ID:e57lt1AJ0 SwiftってiOSアプリ以外に広がる可能性ある?
698デフォルトの名無しさん (ワッチョイ 6b3c-waVG)
2017/05/27(土) 22:13:54.38ID:7vlRlcaj0 少なくともwillSetがある場合は参照渡しの最適化が掛からないようだね
以下のAはcopy-in, copy-outになっていて、Bは参照渡しになってる
http://swift.sandbox.bluemix.net/#/repl/592977d0d72c2a7516859cca
以下のAはcopy-in, copy-outになっていて、Bは参照渡しになってる
http://swift.sandbox.bluemix.net/#/repl/592977d0d72c2a7516859cca
699デフォルトの名無しさん (ワッチョイ 0f1f-9J/J)
2017/05/27(土) 22:20:21.28ID:SDTaiU/Z0700デフォルトの名無しさん (ワッチョイ 6b3c-9J/J)
2017/05/27(土) 22:21:46.44ID:7vlRlcaj0 >>696
var a = [Int]() { willSet{ } } にしたら [1, 3, 5, 2] になるね
var a = [Int]() { willSet{ } } にしたら [1, 3, 5, 2] になるね
701デフォルトの名無しさん (ワッチョイ 0f1f-9J/J)
2017/05/27(土) 22:26:06.26ID:SDTaiU/Z0 えええええ
ほんとに動き違うのかwwww
ほんとに動き違うのかwwww
702デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/27(土) 22:26:19.82ID:aL4+kPgB0703デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/27(土) 22:30:22.71ID:aL4+kPgB0 willSetの有無で挙動が変わるのはいただけな
デバッグで混乱する元になる
デバッグで混乱する元になる
704デフォルトの名無しさん (ワッチョイ 0f1f-9J/J)
2017/05/27(土) 22:31:17.31ID:SDTaiU/Z0705デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/27(土) 22:38:43.72ID:aL4+kPgB0 >>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
とも書いてある。参照を渡して最適化されると。
それに依存して関数内で参照元にアクセスするなとも書いてあるけど
そこに
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
とも書いてある。参照を渡して最適化されると。
それに依存して関数内で参照元にアクセスするなとも書いてあるけど
706デフォルトの名無しさん (ワッチョイ 0f1f-9J/J)
2017/05/27(土) 22:41:57.41ID:SDTaiU/Z0707デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/27(土) 22:47:16.42ID:aL4+kPgB0 >>706
Playgroundにコピペして試してみればいいだろ
Playgroundにコピペして試してみればいいだろ
708デフォルトの名無しさん (ワッチョイ 0f1f-9J/J)
2017/05/27(土) 22:49:30.62ID:SDTaiU/Z0 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.
…最適化と言い張ってるがこれはひどい
so that it behaves correctly with or without the optimization.
…最適化と言い張ってるがこれはひどい
709デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/27(土) 23:01:24.62ID:aL4+kPgB0 このぐらいの最適化はやってくれた方がありがたい
参照渡しの方が確実にパフォーマンス上がるし、通常の使い方で副作用もない
副作用があるようなら書き方に問題があるだろ
inoutで受けた変数のオリジナルにアクセスするコードにワーニングぐらい出してくれたら
とも思うけど、まだそこまで面倒は見きれないんだろ
ただ、最適化の恩恵にあずかりたいなら、willSetなんかは入れない方がいいみたいだな
参照渡しの方が確実にパフォーマンス上がるし、通常の使い方で副作用もない
副作用があるようなら書き方に問題があるだろ
inoutで受けた変数のオリジナルにアクセスするコードにワーニングぐらい出してくれたら
とも思うけど、まだそこまで面倒は見きれないんだろ
ただ、最適化の恩恵にあずかりたいなら、willSetなんかは入れない方がいいみたいだな
710デフォルトの名無しさん (ワッチョイ 9ff3-UHtP)
2017/05/27(土) 23:07:17.91ID:Hem7AZxu0711デフォルトの名無しさん (ワッチョイ 6b3c-9J/J)
2017/05/27(土) 23:47:08.68ID:7vlRlcaj0 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]
これもリファレンスのどこかにあるのかな
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]
712デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/28(日) 00:12:22.92ID:Kbiso++70 willSet/didSetの挙動が怪しすぎるな
バグなのかもな
バグなのかもな
713デフォルトの名無しさん (ワッチョイ 6b3c-9J/J)
2017/05/28(日) 08:47:45.67ID:tTxkySJm0 >>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)になるイメージ
いや挙動的には予想通りだよ
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)になるイメージ
714デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/28(日) 09:31:38.11ID:o7LOyvX/0 この挙動を理解してなければ、structにwillSet/didSetを実装してパフォーマンスに意図しない影響を与える可能性があるな
715デフォルトの名無しさん (ワッチョイ 7b46-sPQt)
2017/05/28(日) 11:21:48.67ID:6qJqAaY90716デフォルトの名無しさん (ワッチョイ 9ff3-UHtP)
2017/05/28(日) 11:31:20.31ID:z3zgF0Nw0 mutatingはselfをinoutで渡す
a.f() // これは
A.f(&a)() // これと同じ
なので一般のinout引数と同様にmutatingメソッド内のselfもセマンティクス的にはcopy-in copy-out
ただmutatingが暗黙にselfをinoutで渡すって説明はリファレンスには見つけられなかった
リポジトリのdocsに放り込まれてる文書群ではしばしば言及されてるけど
a.f() // これは
A.f(&a)() // これと同じ
なので一般のinout引数と同様にmutatingメソッド内のselfもセマンティクス的にはcopy-in copy-out
ただmutatingが暗黙にselfをinoutで渡すって説明はリファレンスには見つけられなかった
リポジトリのdocsに放り込まれてる文書群ではしばしば言及されてるけど
717デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/28(日) 12:29:40.83ID:o7LOyvX/0 気軽にプロパティ変えたつもりの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: [])]
*/
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: [])]
*/
718デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/28(日) 12:30:23.95ID:o7LOyvX/0 クラスで実装すれば、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
*/
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
*/
719デフォルトの名無しさん (ササクッテロル Sp0f-Kfqe)
2017/05/28(日) 12:35:53.43ID:eqNgb5P3p Swift初期にJavaScriptに似てるからWeb屋が参入してくるとか言ってた人もいたけど全然違うしSwiftはObjective-Cより仕様が複雑になってきたね
でもおかしなコードはコンパイラがビシバシ教えてくれるし仕様を詳しく知らなくてもとりあえずコードを書く事はできるかな?
でもおかしなコードはコンパイラがビシバシ教えてくれるし仕様を詳しく知らなくてもとりあえずコードを書く事はできるかな?
720デフォルトの名無しさん (ワッチョイ dbee-Uhxf)
2017/05/28(日) 22:04:52.22ID:ls5tm5z70 Swiftけっこう難しい
Objective-Cは形式張っていてコードがやたらと長くなるだけで実はそんなに難しくない
Objective-Cは形式張っていてコードがやたらと長くなるだけで実はそんなに難しくない
721デフォルトの名無しさん (ワッチョイ fb54-WkB/)
2017/05/28(日) 22:35:10.01ID:7/a46AkG0722デフォルトの名無しさん (ワッチョイ 0fa3-iTU4)
2017/05/28(日) 22:44:58.49ID:ew7wH7J40 詰め込みすぎて開発者のスキルでコードが変わりすぎるのが難点
723デフォルトの名無しさん (スップ Sdbf-sPQt)
2017/05/28(日) 22:57:25.17ID:Y/jTFKWEd >>720
C知ってればハードル高くないからなObjCは
C知ってればハードル高くないからなObjCは
724デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/28(日) 23:22:08.09ID:o7LOyvX/0 そのCがハードル高いからな初心者には
725デフォルトの名無しさん (ワッチョイ 7b46-NZKg)
2017/05/28(日) 23:28:56.75ID:6qJqAaY90 SwiftとCのどっちがハードル高いかって言ったらCとは言えないけどな
Cのシンタックスをベースにしてる言語は多いから、初学者にSwiftとC
どっちをやった方がいいかって言われたら間違いなくCだわ
Cのシンタックスをベースにしてる言語は多いから、初学者にSwiftとC
どっちをやった方がいいかって言われたら間違いなくCだわ
726デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/28(日) 23:30:24.66ID:o7LOyvX/0 初心者にポインターは結構ハードル高いと思うけど
あとメモリ管理にシビアな所とか
あとメモリ管理にシビアな所とか
727デフォルトの名無しさん (ワッチョイ 7b46-sPQt)
2017/05/29(月) 00:25:02.54ID:lFCv8yRy0 Cもわからんようなもやしエンジニアが増えると思うと先が思いやられる
ソフト屋もハードウェアに近いプリミティブな部分の理解は必要なんだけとな
そういう意味でCは高級アセンブラ的なバランスがちょうどいい
ソフト屋もハードウェアに近いプリミティブな部分の理解は必要なんだけとな
そういう意味でCは高級アセンブラ的なバランスがちょうどいい
728デフォルトの名無しさん (アウアウエー Sa3f-Kfqe)
2017/05/29(月) 00:38:37.93ID:21264BYsa >>726
ポインタが難しいって言ったって、結局ポインタ的なメモリの知識はあった方がデバッグでメモリ周り疑う疑わないに直結するしなぁ。。。
ポインタが難しいって言ったって、結局ポインタ的なメモリの知識はあった方がデバッグでメモリ周り疑う疑わないに直結するしなぁ。。。
729デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/29(月) 00:47:58.23ID:3RO08/qX0 でも今は簡単なゲーム作りたいとかなら特にポインタの知識なくても作れちゃうからなぁ
初心者にC言語でゲーム作ってだと難しいと思うけど、Swiftなら割と簡単
モグラたたきとかジャンケンゲーム程度なら初心者でも2,3日で作れるかも
初心者にC言語でゲーム作ってだと難しいと思うけど、Swiftなら割と簡単
モグラたたきとかジャンケンゲーム程度なら初心者でも2,3日で作れるかも
730デフォルトの名無しさん (アウアウエー Sa3f-Kfqe)
2017/05/29(月) 00:57:45.02ID:21264BYsa 誰もポインタないと作れないなんて言ってない。
ポインタの知識はトラブった時にトラブルの原因の候補にメモリが上がるか?どう状態かを推測出来るか?ってのに直結する。
ポインタと言うか、メモリの構造を知らなけりゃトラブルの原因として候補にすら上がらない。
下手すれば永延と原因分からないまま、プログラムは未完に終わる。
ポインタの知識はトラブった時にトラブルの原因の候補にメモリが上がるか?どう状態かを推測出来るか?ってのに直結する。
ポインタと言うか、メモリの構造を知らなけりゃトラブルの原因として候補にすら上がらない。
下手すれば永延と原因分からないまま、プログラムは未完に終わる。
731デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/29(月) 01:03:25.64ID:3RO08/qX0 そんなこと言い出したら究極的にはコンパイラの癖とかハードの特性とかまで知らないとデバッグできないことになる
初心者にそこまで求めるのは余りにも遠い道のりになる
初心者にそこまで求めるのは余りにも遠い道のりになる
732デフォルトの名無しさん (アウアウエー Sa3f-Kfqe)
2017/05/29(月) 01:19:59.07ID:21264BYsa そこまで言わんが、初心者と言えどもCPUとメモリの仕組みは理解してからプログラミングは始めて欲しいものだが。
体験して見たいだけなら兎も角、プログラマになりたいんならね。
体験して見たいだけなら兎も角、プログラマになりたいんならね。
733デフォルトの名無しさん (ワッチョイ 7bf5-vlKO)
2017/05/29(月) 06:40:45.44ID:DGY6L2yw0 kotlin nativeがllvm対応してるらしいのでiosでもkotlin使えそう。
となればswiftはもういいかな。
となればswiftはもういいかな。
734デフォルトの名無しさん (ササクッテロリ Sp0f-3U4p)
2017/05/29(月) 07:01:38.32ID:L9ed4gjcp フフってなった
昔、SwiftもLLVMだからどこでも動くって言ってたなぁ
まぁKotlinは頑張ってポーティングしてるようだから
実用性はさておき動くんだろうけど
昔、SwiftもLLVMだからどこでも動くって言ってたなぁ
まぁKotlinは頑張ってポーティングしてるようだから
実用性はさておき動くんだろうけど
735デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/29(月) 08:51:21.58ID:A7rCPaLD0736デフォルトの名無しさん (スプッッ Sdbf-iTU4)
2017/05/29(月) 09:10:28.76ID:96NrxdYRd737デフォルトの名無しさん (ワッチョイ 2b72-Kfqe)
2017/05/29(月) 10:41:09.25ID:M6frmmyd0 ポインタとか分からんレベルの人にはやりたい放題出来ないがんじがらめの世界の方がいい気はする
柔軟性はObjective-Cで安全性はSwiftなイメージ
柔軟性はObjective-Cで安全性はSwiftなイメージ
738デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/29(月) 11:13:19.98ID:A7rCPaLD0739デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/29(月) 11:14:56.30ID:A7rCPaLD0 It is not a fully functional release yet,
Kotlin/Nativeがどの程度動くのか?気になる。
Kotlin/Nativeがどの程度動くのか?気になる。
740デフォルトの名無しさん (エムゾネ FFbf-4cAo)
2017/05/29(月) 11:27:53.51ID:trx2RJe/F >>729
ポインタ分からないって人は、参照型の値型の違いが理解出来なくないか?
ポインタ分からないって人は、参照型の値型の違いが理解出来なくないか?
741デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/29(月) 12:04:20.43ID:3RO08/qX0 参照型と値型の違いがわからなくても使い方さえ理解できれば簡単なアプリは作れるからな
ある程度の最適化はコンパイラがやってくれるし、ハードの性能も上がってるから、多少の冗長性は無視できる
C言語だとそうはいかない
ポインタを知らないとまずまともなアプリはつくれない
外部のライブラリを利用する場合もポインタの知識は必須になる
ポインタの理解が参照型の理解の助けにはなるだろうけど厳密にはポインタと参照型は同じものでもないし
ある程度の最適化はコンパイラがやってくれるし、ハードの性能も上がってるから、多少の冗長性は無視できる
C言語だとそうはいかない
ポインタを知らないとまずまともなアプリはつくれない
外部のライブラリを利用する場合もポインタの知識は必須になる
ポインタの理解が参照型の理解の助けにはなるだろうけど厳密にはポインタと参照型は同じものでもないし
742デフォルトの名無しさん (スプッッ Sdbf-4cAo)
2017/05/29(月) 12:14:04.16ID:idSzy2HYd それは、ポインタを知らなくても使い方さえ覚えれば簡単なアプリは作れる、っていっても同じじゃないか?
743デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/29(月) 12:33:55.33ID:3RO08/qX0 ポインタの場合は概念を理解しないで使い方だけ覚えるってのはちと無理がある
Swiftの参照型は概念をきっちり理解できなくても、大概動くものは作れるし、変なことやろうとしてもIDEやコンパイラが注意してくれる
Swiftの参照型は概念をきっちり理解できなくても、大概動くものは作れるし、変なことやろうとしてもIDEやコンパイラが注意してくれる
744デフォルトの名無しさん (スプッッ Sdbf-iTU4)
2017/05/29(月) 13:11:45.84ID:96NrxdYRd >>740
ポインタしらなくても挙動でわかるだろ
ポインタしらなくても挙動でわかるだろ
745デフォルトの名無しさん (スプッッ Sdbf-4cAo)
2017/05/29(月) 13:27:25.51ID:idSzy2HYd746デフォルトの名無しさん (スプッッ Sdbf-iTU4)
2017/05/29(月) 13:29:35.62ID:96NrxdYRd747デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/29(月) 13:38:22.24ID:3RO08/qX0 そもそも初心者は参照型だ値型だとあまり意識しないんじゃないか
意識しなくてもコードは書ける
Swiftならね
意識しなくてもコードは書ける
Swiftならね
748デフォルトの名無しさん (ワッチョイ 7b46-NZKg)
2017/05/29(月) 21:45:25.45ID:lFCv8yRy0 >>741
だからObjective-Cはいろいろと素晴らしいと考える人が少なくないんだと思うけどな
だからObjective-Cはいろいろと素晴らしいと考える人が少なくないんだと思うけどな
749デフォルトの名無しさん (ワッチョイ fb54-2haG)
2017/05/29(月) 21:47:34.02ID:e8ZpNhPJ0 今後出現して欲しい本
SwiftプログラマのためのKotlin入門
Androidアプリ作りたいけど、Javaは嫌なんだよなぁ。
SwiftプログラマのためのKotlin入門
Androidアプリ作りたいけど、Javaは嫌なんだよなぁ。
750デフォルトの名無しさん (ワッチョイ 0fa3-iTU4)
2017/05/29(月) 21:59:32.56ID:HMZ0UBYT0 >>749
そんな本なくてもswiftの簡単版みたいなもんだから余裕でかける
そんな本なくてもswiftの簡単版みたいなもんだから余裕でかける
751デフォルトの名無しさん (ワッチョイ 7bf5-vlKO)
2017/05/30(火) 01:08:42.87ID:Q1uksSWN0 iosもandroidも共通で言えることなんだけどさ、もう一段フレームワークが欲しい。どっちもuiライブラリ止まりで、
全体の管理を行う部分が開発者任せで、正直困る。一画面アプリ止まりならそれでもいいんだけどさ。
全体の管理を行う部分が開発者任せで、正直困る。一画面アプリ止まりならそれでもいいんだけどさ。
752デフォルトの名無しさん (ワッチョイ 0fa3-iTU4)
2017/05/30(火) 01:09:28.67ID:YGoyijxE0 ???
753デフォルトの名無しさん (ワッチョイ 7bdf-0q68)
2017/05/30(火) 01:21:48.80ID:zlRLzU390 >>751
例えば?
例えば?
754デフォルトの名無しさん (ワッチョイ 7bf5-vlKO)
2017/05/30(火) 02:18:06.30ID:Q1uksSWN0 ステート管理だけで言えばreactのreduxみたいなやつとか。
あれってファイルの置き場所とかもある程度誘導されるから迷いが減るんだよね。
あれってファイルの置き場所とかもある程度誘導されるから迷いが減るんだよね。
755デフォルトの名無しさん (ササクッテロリ Sp0f-3U4p)
2017/05/30(火) 09:52:12.97ID:zOXcPiC1p ソースファイルの置場所も公式に決まってないSwiftに何期待してるのか
まずはSwift Package ManagerとXcodeで共通化することから始めよう
まずはSwift Package ManagerとXcodeで共通化することから始めよう
756デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/30(火) 10:07:35.91ID:LRk+Le9O0 俺もパッケージマネージャが複数あるのが好かんなぁ。
1. Carthage
2. CocoaPods
3. Swift Package Manager
俺は1.がxcodeprojへの変更が少なくて好みだ。
2.はxcodeprojをどう変更してるのかが、見えない。
1. Carthage
2. CocoaPods
3. Swift Package Manager
俺は1.がxcodeprojへの変更が少なくて好みだ。
2.はxcodeprojをどう変更してるのかが、見えない。
757デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/30(火) 10:49:53.98ID:hcHvAlDm0 CocoaPodsはオープンソースだからxcodeprojをどう変更してるかは見えるだろ
758デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/30(火) 10:53:32.01ID:LRk+Le9O0 Swiftとはちょいと違う事で質問です。
UMLモデリングって最近でも使われますか?
使う目的は何でしょう?
1. すでにあるコードの解析
2. これから作成するコードの可視化
UMLモデリングって最近でも使われますか?
使う目的は何でしょう?
1. すでにあるコードの解析
2. これから作成するコードの可視化
759デフォルトの名無しさん (ワッチョイ df6e-cMFO)
2017/05/30(火) 11:24:11.63ID:hcHvAlDm0 そんなこと聞いてどうすんの? と聞き返したくなるような質問すんな
皆が使ってるなら使ってみようかってことか
皆が使ってるなら使ってみようかってことか
760デフォルトの名無しさん (アウアウウー Sacf-Evzo)
2017/05/30(火) 11:24:54.00ID:gxWnkgCCa しかるべきスレへ行ってはどうか
761デフォルトの名無しさん (スプッッ Sdbf-4cAo)
2017/05/30(火) 12:41:12.92ID:8S4zHXFCd >>758
モデリングのために決まってんだろ
モデリングのために決まってんだろ
762デフォルトの名無しさん (ブーイモ MMbf-vlKO)
2017/05/30(火) 13:35:34.23ID:MeRfIrpoM >>755
まさにこれ。決めてほしい。
それかアップル自身が公式にリファレンスとなるアプリをオープンソースにしてほしい。
react-nativeだとf8appがそれっぽいが。
なんかそれなりの規模のオープンソースアプリないかな。
まさにこれ。決めてほしい。
それかアップル自身が公式にリファレンスとなるアプリをオープンソースにしてほしい。
react-nativeだとf8appがそれっぽいが。
なんかそれなりの規模のオープンソースアプリないかな。
763デフォルトの名無しさん (ササクッテロリ Sp0f-W32U)
2017/05/30(火) 14:59:25.27ID:zOXcPiC1p swift.orgのPackage Managerのページにゴミのようなサンプルはあるけど
自身(SPM)のことしか考えてないから、自分で作った方が良いだろうねぇ
Swift Package Manager
https://swift.org/package-manager/#conceptual-overview
Package.swift作って、Sources, Testsディレクトリ作る
CocoaPods
https://guides.cocoapods.org/syntax/podfile.html
Podfile作る, Sources/*.swiftを参照
Carthage
https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile
Carfile作る, Sources/*.swiftを参照
Xcode
上の全部を適当にpodが作った.xcworkspaceのプロジェクトツリーに加える
自身(SPM)のことしか考えてないから、自分で作った方が良いだろうねぇ
Swift Package Manager
https://swift.org/package-manager/#conceptual-overview
Package.swift作って、Sources, Testsディレクトリ作る
CocoaPods
https://guides.cocoapods.org/syntax/podfile.html
Podfile作る, Sources/*.swiftを参照
Carthage
https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile
Carfile作る, Sources/*.swiftを参照
Xcode
上の全部を適当にpodが作った.xcworkspaceのプロジェクトツリーに加える
764デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 11:13:03.77ID:9hyFYnrA0 qiitaのKotlin記事を読んでて出くわしたphrase。
Android アプリ開発者であれば普段から英語を読んでいると思いますし、平易な英語なので大きな問題はないと思います。
俺にはComputer関連の英語文章が難しく感じるのだけど、どうなんでしょう?
exressionを式だと理解するのに、随分時間がかかったと思う。
Android アプリ開発者であれば普段から英語を読んでいると思いますし、平易な英語なので大きな問題はないと思います。
俺にはComputer関連の英語文章が難しく感じるのだけど、どうなんでしょう?
exressionを式だと理解するのに、随分時間がかかったと思う。
765デフォルトの名無しさん (アウアウカー Sa8f-Kfqe)
2017/05/31(水) 12:18:51.47ID:mlMZGH6Ha 和書にも専門用語は英訳も一緒に載ってること多いから違和感無かったけど、入門してすぐ洋書だとそう感じるかも。
766デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 12:45:27.84ID:9hyFYnrA0 たしかに!
順方向伝搬(forward propagation)って書いてあるね。和書には。
expressionを式、statementを文と訳すのは判ったけど、和書には「式文」
ってのが時々出て来て、これ何を翻訳したんだ?
と不安になる。
順方向伝搬(forward propagation)って書いてあるね。和書には。
expressionを式、statementを文と訳すのは判ったけど、和書には「式文」
ってのが時々出て来て、これ何を翻訳したんだ?
と不安になる。
767デフォルトの名無しさん (JP 0Hcf-Evzo)
2017/05/31(水) 16:07:11.28ID:nyiBm3r5H そんなあなたに
Regular Expression
はどう訳す
Regular Expression
はどう訳す
768デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 16:13:04.68ID:9hyFYnrA0 >>767
いつも良く使うマッチ式
いつも良く使うマッチ式
769デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 16:16:42.72ID:9hyFYnrA0 regular = いつもの
例:regular customer = 常連、regular coffee = 日々よく飲むコーヒー
regular ¥= 正規 = formal, proper
例:regular customer = 常連、regular coffee = 日々よく飲むコーヒー
regular ¥= 正規 = formal, proper
770デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 16:19:06.25ID:9hyFYnrA0 正規表現って訳語は、誤訳だわぁ。
771デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 16:19:30.13ID:9hyFYnrA0 誤訳を永遠と使い続けるのは、よく無い。
772デフォルトの名無しさん (JP 0Hcf-Evzo)
2017/05/31(水) 16:25:25.52ID:nyiBm3r5H >>770
石田晴久が糞って有名ですし
石田晴久が糞って有名ですし
773デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
2017/05/31(水) 16:37:31.63ID:9hyFYnrA0 >>772
まあ、情報が入手しずらい時代に苦心して日本語を当てたって感じだ。
Microsoftの文書を読んで、まったく意味がわからんかったのを思い出さしてクレルわぁ。DAO ActiveX Library, RDO ActiveX Libraryに関しての記述を読んで、
さっぱり意味不明だった。和文も、英文も。
サンプルコードを見たら一発で理解できた。
まあ、情報が入手しずらい時代に苦心して日本語を当てたって感じだ。
Microsoftの文書を読んで、まったく意味がわからんかったのを思い出さしてクレルわぁ。DAO ActiveX Library, RDO ActiveX Libraryに関しての記述を読んで、
さっぱり意味不明だった。和文も、英文も。
サンプルコードを見たら一発で理解できた。
774デフォルトの名無しさん (スッップ Sdbf-fYd5)
2017/05/31(水) 19:53:48.08ID:3T0UNs5qd775デフォルトの名無しさん (ワッチョイ fb54-2haG)
2017/05/31(水) 20:15:00.41ID:Iu1e43xk0 >>774
頭悪そ。
頭悪そ。
776デフォルトの名無しさん (ワッチョイ 9f72-p7jx)
2017/05/31(水) 21:26:00.22ID:DggZESjQ0 >>750
Swiftより簡単なの?
Swiftより簡単なの?
777デフォルトの名無しさん (ワッチョイ fb54-WkB/)
2017/05/31(水) 21:33:41.18ID:Iu1e43xk0 >>750
知ったか
知ったか
778デフォルトの名無しさん (スプッッ Sdbf-iTU4)
2017/05/31(水) 21:47:41.16ID:WiTkOt3Sd >>776
果てしなく簡単
果てしなく簡単
779デフォルトの名無しさん (ワッチョイ 7bf5-vlKO)
2017/05/31(水) 22:53:30.93ID:JH+W+dlz0 swiftが言語仕様固まらないうちにkotlinがios対応しちゃうな。
780デフォルトの名無しさん (ワッチョイ 7b46-NZKg)
2017/05/31(水) 23:40:55.86ID:pEaTZtAB0 Swift使ってる自分が好きな人
781デフォルトの名無しさん (スップ Sdea-EO1S)
2017/06/01(木) 08:38:33.85ID:gogTzzXkd モダンな言語Swiftを使ってる最先端な自分
782デフォルトの名無しさん (スプッッ Sdea-v+1e)
2017/06/01(木) 09:47:53.31ID:5viUjg+Pd swiftは作る奴の思考によってパラダイムが変わるから他人のコードがストレスになる糞言語
いっそのことclassを消してしまえばいいわ
いっそのことclassを消してしまえばいいわ
783デフォルトの名無しさん (ワッチョイ b9f3-O++a)
2017/06/01(木) 10:35:07.17ID:Mc77jWtu0784デフォルトの名無しさん (ワッチョイ 353c-2/Qz)
2017/06/01(木) 10:53:52.60ID:kPS6C5Z/0 SwiftとKotlinでちょっと遅延評価リストを比較した
■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/
val a = generateSequence(0){it+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() )
■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/
val a = generateSequence(0){it+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() )
785デフォルトの名無しさん (ワッチョイ b6f3-c8bI)
2017/06/01(木) 10:54:14.25ID:AXJF1Amn0 swiftは言語仕様固まらないうちにAndroid対応しちゃうバカだからな
kotlinのios対応って何周遅れだよ...対応遅すぎる
kotlinのios対応って何周遅れだよ...対応遅すぎる
786デフォルトの名無しさん (ワッチョイ 353c-2/Qz)
2017/06/01(木) 10:55:55.93ID:kPS6C5Z/0 ■Swift
オンラインコンパイラ: https://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 )
}
オンラインコンパイラ: https://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 )
}
787デフォルトの名無しさん (ワッチョイ b9f3-O++a)
2017/06/01(木) 11:22:30.68ID:Mc77jWtu0788デフォルトの名無しさん (ワッチョイ 2af3-OTNS)
2017/06/01(木) 12:01:04.94ID:5DFmWXv80 >>786
let a = sequence(first:0){$0+1}.lazy
でよくね
ここ書いてる時点で無限sequenceだってわかってるんだから
ambiguous云々言われるのは…まぁ…
let a = sequence(first:0){$0+1}.lazy
でよくね
ここ書いてる時点で無限sequenceだってわかってるんだから
ambiguous云々言われるのは…まぁ…
789デフォルトの名無しさん (スプッッ Sdea-v+1e)
2017/06/01(木) 13:13:36.56ID:5viUjg+Pd >>783
日本語理解できないガイジ
日本語理解できないガイジ
790デフォルトの名無しさん (スフッ Sd0a-yOWz)
2017/06/01(木) 13:17:57.99ID:EiP2TW+2d たしかにこれはガイジ
理由書いてるレスに理由聞くとか新しすぎる
理由書いてるレスに理由聞くとか新しすぎる
791デフォルトの名無しさん (ワッチョイ b9f3-O++a)
2017/06/01(木) 13:30:11.13ID:Mc77jWtu0 >>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言わなくなったけど、なんでだ?
//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言わなくなったけど、なんでだ?
792デフォルトの名無しさん (ワッチョイ 661f-zUMb)
2017/06/01(木) 21:02:51.03ID:DEetJIxW0 スタイリッシュを装ってるが
ときどき地がでて$0とか$1とか書いちゃう田舎者
それがSwift
ときどき地がでて$0とか$1とか書いちゃう田舎者
それがSwift
793デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
2017/06/05(月) 16:00:36.93ID:AJ9L3Zjp0 今夜Swift++発表か
794デフォルトの名無しさん (ササクッテロル Sp3d-i1uu)
2017/06/05(月) 16:32:47.80ID:8WFwx/xcp また新しい文法が増えるのか
795デフォルトの名無しさん (スプッッ Sdea-esot)
2017/06/05(月) 17:46:21.52ID:mNvdXf0od Swift+=1じゃないのか
796デフォルトの名無しさん (ササクッテロリ Sp3d-+5QW)
2017/06/05(月) 18:51:21.00ID:SveFyKZdp Swift4なんてなかった
797デフォルトの名無しさん (スップ Sdea-EO1S)
2017/06/05(月) 19:31:26.86ID:3JnnQNM2d798デフォルトの名無しさん (ワッチョイ d955-nAfx)
2017/06/05(月) 20:40:53.41ID:jJlkmHCz0 without Cという、表面的な自己満足を実現する言語仕様
という意味では成功してるかもなSwiftは
という意味では成功してるかもなSwiftは
799デフォルトの名無しさん (ワンミングク MM7a-sYLo)
2017/06/06(火) 09:11:21.70ID:qDrcxP3vM 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.
おはギャーきたな
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.
おはギャーきたな
800デフォルトの名無しさん (スップ Sd0a-EO1S)
2017/06/06(火) 09:21:00.69ID:Z7hLIrmcd Swift4…。Apple正気か
801デフォルトの名無しさん (ワンミングク MM7a-sYLo)
2017/06/06(火) 09:25:05.11ID:qDrcxP3vM 2017/05/26 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大
欠陥に気付いた時点から1年以内にITベンダーに通知すれば、通知後5年以内は修正や報酬の減額などを求めることできる
Swift3でシステム作って納品する
↓
iOSバージョンが12になる。Swift4が必須になる
↓
客がプロジェクトファイルからアップデート試す。Swift4の必須のエラーが出る。動作の不具合に気づく
↓
気付いた時点から1年以内に通知すれば、5年間無料保証ゲット
↓
つまりSwiftがアップデートするたびに、無償の修正作業を発生するということかな
欠陥に気付いた時点から1年以内にITベンダーに通知すれば、通知後5年以内は修正や報酬の減額などを求めることできる
Swift3でシステム作って納品する
↓
iOSバージョンが12になる。Swift4が必須になる
↓
客がプロジェクトファイルからアップデート試す。Swift4の必須のエラーが出る。動作の不具合に気づく
↓
気付いた時点から1年以内に通知すれば、5年間無料保証ゲット
↓
つまりSwiftがアップデートするたびに、無償の修正作業を発生するということかな
802デフォルトの名無しさん (ササクッテロリ Sp3d-c8bI)
2017/06/06(火) 09:57:12.15ID:LrtFpx4Mp > iOSバージョンが12になる。Swift4が必須になる
ダウト
中途半端な知識でモノを言うもんじゃねぇよww
なお、小賢しいPMはSwiftバージョン上がる度に
最新のXcodeでビルドできないのはアポーのせいなんでwwwってメンテ工数をぶん取る模様
ダウト
中途半端な知識でモノを言うもんじゃねぇよww
なお、小賢しいPMはSwiftバージョン上がる度に
最新のXcodeでビルドできないのはアポーのせいなんでwwwってメンテ工数をぶん取る模様
803デフォルトの名無しさん (ワンミングク MM7a-sYLo)
2017/06/06(火) 10:07:42.01ID:qDrcxP3vM それはお前が決めることじゃない。コンペで「今後欠陥に気付いてから5年間無料保証を請け負うお」を提案できる会社だけが仕事を取れることだけのこと
コンペで競争がおき、それを提案できる会社が出てくるから、それが慣習化していくよ。法でデフォルトで定められた無限保証をわざわざ有限保証にするバカはいない。
コンペで競争がおき、それを提案できる会社が出てくるから、それが慣習化していくよ。法でデフォルトで定められた無限保証をわざわざ有限保証にするバカはいない。
804デフォルトの名無しさん (ワッチョイ 65ea-i1uu)
2017/06/06(火) 10:53:12.48ID:wPDXTWJN0 開発環境を変えてビルド出来なくなるのをソフトウェアの欠陥とは言わないよ
805デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
2017/06/06(火) 13:46:11.18ID:utAoocLg0 Xcode 9、リファクタリングとプロトコルのスタブ来たな
インデックス作成もサクサクになってる
GitHub統合とMarkdownエディタもいい感じ
インデックス作成もサクサクになってる
GitHub統合とMarkdownエディタもいい感じ
806デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
2017/06/06(火) 16:11:39.52ID:utAoocLg0 DoubleWidthの実装がマージされた
https://github.com/apple/swift/pull/9367
Int1024だって作れる
typealias Int128 = DoubleWidth<Int64>
typealias Int256 = DoubleWidth<Int128>
typealias Int512 = DoubleWidth<Int256>
typealias Int1024 = DoubleWidth<Int512>
https://github.com/apple/swift/pull/9367
Int1024だって作れる
typealias Int128 = DoubleWidth<Int64>
typealias Int256 = DoubleWidth<Int128>
typealias Int512 = DoubleWidth<Int256>
typealias Int1024 = DoubleWidth<Int512>
807デフォルトの名無しさん (ワッチョイ 25e3-zUMb)
2017/06/06(火) 20:23:51.33ID:mZslSucp0 また中途半端でトリッキーなもん作ってからに
808デフォルトの名無しさん (ワッチョイ d9a9-qalp)
2017/06/06(火) 20:43:08.26ID:VnL+cFVq0 >>806
これなんか意味あるの?
これなんか意味あるの?
809デフォルトの名無しさん (ワッチョイ d9a9-qalp)
2017/06/06(火) 20:43:53.36ID:VnL+cFVq0810デフォルトの名無しさん (ワッチョイ fa8f-qNax)
2017/06/06(火) 20:54:56.54ID:kDjkRNjY0 無茶言うなよ
811デフォルトの名無しさん (ワッチョイ d955-EO1S)
2017/06/06(火) 21:26:04.58ID:b/Jm2sx50 こんなことやってて意味あんの?
冗談抜きに自己満言語になってきたな
まじで日曜プログラマー専用言語だろもう…
冗談抜きに自己満言語になってきたな
まじで日曜プログラマー専用言語だろもう…
812デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
2017/06/06(火) 22:18:30.88ID:utAoocLg0 >>808
オーバーフローしても計算続けられる
オーバーフローしても計算続けられる
813デフォルトの名無しさん (ササクッテロリ Sp3d-+5QW)
2017/06/06(火) 22:24:58.02ID:LrtFpx4Mp 最初から自己満足言語だから
そして、最初から驚くほどアポー信者が食いつかなかった
教祖様が亡くなるとここまで信仰心が薄れるとは思わなかったよな
ところでメモリ管理の文法と機能はどうなってるんだ
諦めたんかいな
そして、最初から驚くほどアポー信者が食いつかなかった
教祖様が亡くなるとここまで信仰心が薄れるとは思わなかったよな
ところでメモリ管理の文法と機能はどうなってるんだ
諦めたんかいな
814デフォルトの名無しさん (ワッチョイ d955-nAfx)
2017/06/06(火) 22:26:08.72ID:b/Jm2sx50 >>813
さらに今となってはSwift教祖のベジータ親父もいなくなったからな
さらに今となってはSwift教祖のベジータ親父もいなくなったからな
815デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
2017/06/06(火) 22:27:50.89ID:utAoocLg0816デフォルトの名無しさん (ササクッテロリ Sp3d-c8bI)
2017/06/06(火) 23:23:01.91ID:LrtFpx4Mp >>815
うせやろ・・・4はownershipのABIだけ決めて文法/機能は申し送りなのかいな
確かにStage 2のGoalsに明記はないけどさ、それだけがSwift4の楽しみだったのになぁ
とりあえず、3からの文法互換性はないはずなのでそれで遊ぶか
4 stableまでに転々とする文法と戯れてるわ・・・
うせやろ・・・4はownershipのABIだけ決めて文法/機能は申し送りなのかいな
確かにStage 2のGoalsに明記はないけどさ、それだけがSwift4の楽しみだったのになぁ
とりあえず、3からの文法互換性はないはずなのでそれで遊ぶか
4 stableまでに転々とする文法と戯れてるわ・・・
817デフォルトの名無しさん (ワッチョイ 2997-Vwti)
2017/06/07(水) 15:47:45.81ID:AtFlxxBS0 皆さんは、マウスorトラックボール、何を使ってますか?
どれが使いやすいのか…
どれが使いやすいのか…
818デフォルトの名無しさん (ワッチョイ b96c-O++a)
2017/06/07(水) 16:06:10.70ID:R71ACYeB0 >>817
Logicoolの無線マウス(non bluetooth) 5 button
Logicoolの無線マウス(non bluetooth) 5 button
819デフォルトの名無しさん (ワッチョイ 2997-Vwti)
2017/06/07(水) 19:00:25.23ID:AtFlxxBS0 >>818
やはりボタンが多い方が効率的ですかね?
やはりボタンが多い方が効率的ですかね?
820デフォルトの名無しさん (ワッチョイ 65ea-Muw2)
2017/06/07(水) 19:25:41.92ID:coTyNxun0 WWDCなのに特に盛り上がってないのは公式のGitHubで既に今後の新機能などが公表されてるから?
821デフォルトの名無しさん (ワッチョイ fa8f-V2gy)
2017/06/07(水) 19:46:55.11ID:NxYBwGCp0 盛り上がってるだろ
お前の知らない所で
お前の知らない所で
822デフォルトの名無しさん (ブーイモ MM0a-V3oX)
2017/06/07(水) 21:32:10.30ID:ytp+ypYWM823デフォルトの名無しさん (ブーイモ MM0a-V3oX)
2017/06/07(水) 21:32:54.12ID:ytp+ypYWM 買った人いる?
824デフォルトの名無しさん (ワッチョイ 2997-Vwti)
2017/06/07(水) 23:08:32.64ID:AtFlxxBS0 削除されたらしいぞ?
825デフォルトの名無しさん (ワッチョイ a36c-AV8e)
2017/06/08(木) 00:38:04.54ID:uRfPT8Nu0826デフォルトの名無しさん (ワッチョイ 838f-dRjq)
2017/06/08(木) 02:02:17.69ID:bhRxW4Kj0 語尾は伸ばさない
827デフォルトの名無しさん (ワッチョイ a36c-AV8e)
2017/06/08(木) 03:01:54.72ID:uRfPT8Nu0 はい〜
828デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
2017/06/08(木) 13:30:06.35ID:7UFSdEc7p ちがう!!もっと真剣になるのだ!
(知名度はあるけどリアルタイム世代はもう少ない)
(知名度はあるけどリアルタイム世代はもう少ない)
829デフォルトの名無しさん (ワッチョイ e511-lMIK)
2017/06/08(木) 13:48:25.97ID:9TvsnZIC0 >>821
どこで盛り上がってんの?
どこで盛り上がってんの?
830デフォルトの名無しさん (ワッチョイ 2311-W7ul)
2017/06/08(木) 15:48:31.51ID:MyrAc3uI0 昔はQiitaとかSlideShareとかで真っ先に投稿するやついたじゃん。
ああいう意識高い系が減ってきたらもう終わりだな。
Swiftなんてもう仲間内でワイワイやるだけの言語になっちゃったじゃん。
ああいう意識高い系が減ってきたらもう終わりだな。
Swiftなんてもう仲間内でワイワイやるだけの言語になっちゃったじゃん。
831デフォルトの名無しさん (スプッッ Sd51-jiBQ)
2017/06/08(木) 16:05:21.61ID:SSbqo8UTd iOS/macOS開発者をまとめて仲間内と表現するならそうだろうけど、その範囲を仲間内と言いだしたら、終わってない言語なんて無くないか?
832デフォルトの名無しさん (JP 0H99-TzKE)
2017/06/08(木) 16:19:58.85ID:oPuedIYNH >>830
そういう時期はもう過ぎた感じ
そういう時期はもう過ぎた感じ
833デフォルトの名無しさん (ワッチョイ 838f-dRjq)
2017/06/08(木) 16:35:53.75ID:bhRxW4Kj0 いつまでも昔の事を懐かしんでばかりもいられねーぜ
834デフォルトの名無しさん (ワッチョイ 2311-W7ul)
2017/06/08(木) 21:42:14.79ID:MyrAc3uI0 本来なら
「Androidの第一級開発言語としてSwiftが採用された!」とか
「Web業界でSwiftに注目が集まってる!」とか
「基幹システムでSwift採用の動きが?!」とか
そういう話が出始める時期なのに、肝心なABIが固まってないから後手に回されてる。
それがSwiftの現状。
「Androidの第一級開発言語としてSwiftが採用された!」とか
「Web業界でSwiftに注目が集まってる!」とか
「基幹システムでSwift採用の動きが?!」とか
そういう話が出始める時期なのに、肝心なABIが固まってないから後手に回されてる。
それがSwiftの現状。
835デフォルトの名無しさん (スップ Sd03-0APj)
2017/06/08(木) 22:17:29.82ID:bONJW6wZd abiってなんですか?
836デフォルトの名無しさん (ササクッテロリ Sp71-+V7x)
2017/06/09(金) 10:17:12.02ID:2Ut1GWuyp >>834
その時期ももう過ぎてる
その時期ももう過ぎてる
837デフォルトの名無しさん (ワッチョイ e511-sMjV)
2017/06/09(金) 14:46:27.58ID:VWf4RLmS0 >>835
Application Binary Interface
ABIが安定してないと以前のSwiftでビルドしたライブラリ(バイナリ)を
最新のSwiftでビルドしたアプリから呼べなかったりする
Swift4で安定化する予定だったけど延期された
Application Binary Interface
ABIが安定してないと以前のSwiftでビルドしたライブラリ(バイナリ)を
最新のSwiftでビルドしたアプリから呼べなかったりする
Swift4で安定化する予定だったけど延期された
838デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/09(金) 23:51:31.69ID:jmMh9R660 iosアプリ作るしか能がない言語より
サーバサイドもお得意なkotlinのほうが良い。と思える。
サーバサイドもお得意なkotlinのほうが良い。と思える。
839デフォルトの名無しさん (ワッチョイ 838f-dRjq)
2017/06/09(金) 23:57:34.70ID:gHl3UGQu0 Swiftもサーバサイド作れるだろ
お得意かどうかは知らんけど
お得意かどうかは知らんけど
840デフォルトの名無しさん (ワッチョイ bd55-cAR5)
2017/06/10(土) 00:09:45.18ID:EfK23cou0841デフォルトの名無しさん (ワッチョイ 05ea-lMIK)
2017/06/10(土) 00:26:48.06ID:HxRjgs+d0 >>314
俺はベジータがいなくなった時点でそうとう梯子を外された感が強かった。お前が抜けてどうするんだと。
俺はベジータがいなくなった時点でそうとう梯子を外された感が強かった。お前が抜けてどうするんだと。
842デフォルトの名無しさん (ワッチョイ 0be3-D9zB)
2017/06/10(土) 00:27:58.22ID:LZ2lcVsd0 アニメでそういう当てつけをしてるのか
843デフォルトの名無しさん (ワッチョイ a36c-AV8e)
2017/06/10(土) 01:03:05.37ID:HcYDlJQ/0 ラトナー今でもコアチームの一員だし、メーリスに出没するし、たまにプロポーザルのレビューマネージャとかもやっとるよ
844デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/10(土) 01:21:03.27ID:Rd047FLv0845デフォルトの名無しさん (ワッチョイ 838f-dRjq)
2017/06/10(土) 01:44:36.70ID:iLxYgc210 テイラースイフトはアメリカの歌手だバカ
846デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/10(土) 07:01:25.41ID:9Y1uaI8o0 >>845
身長185cmのデカイ女歌手だわさ。
身長185cmのデカイ女歌手だわさ。
847デフォルトの名無しさん (ワッチョイ 0be3-D9zB)
2017/06/10(土) 07:31:11.58ID:LZ2lcVsd0 テイラースイフトが次に何をすればいいかわからないという意味不明な理由で
突然引退表明したのは
Appleへのなんかの恫喝だったのか
突然引退表明したのは
Appleへのなんかの恫喝だったのか
848デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/10(土) 07:38:33.40ID:9Y1uaI8o0849デフォルトの名無しさん (ワッチョイ 0bdb-0APj)
2017/06/10(土) 08:12:47.95ID:sZ6VtFAu0 つかabi安定まではβなので
swiftは4からがステーブル
swiftは4からがステーブル
850デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/10(土) 08:16:54.23ID:9Y1uaI8o0851デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
2017/06/10(土) 08:29:55.68ID:gUDVFMBtp >>840
原理派:ObjCこそ至上、Swiftはクソ!
新進派:ObjCは古い、Swiftサイコー!
中立派:ObjCもSwiftもイイ!
Apple教もいろんな派閥があるけど新しいモノを兎角推進する新進主義が昔は主流だったのになぁ
iPhoneのディスプレイが4:3から16:9になった時の信者の掌返しはステキだった
あれだけAndroidの16:9ディスプレイはクソと言ってたのに即座に意見変えてやがんの
SwiftはObjCの資産が使えるけど何か問題あるの?
原理派:ObjCこそ至上、Swiftはクソ!
新進派:ObjCは古い、Swiftサイコー!
中立派:ObjCもSwiftもイイ!
Apple教もいろんな派閥があるけど新しいモノを兎角推進する新進主義が昔は主流だったのになぁ
iPhoneのディスプレイが4:3から16:9になった時の信者の掌返しはステキだった
あれだけAndroidの16:9ディスプレイはクソと言ってたのに即座に意見変えてやがんの
SwiftはObjCの資産が使えるけど何か問題あるの?
852デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/10(土) 08:37:08.06ID:9Y1uaI8o0853デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/10(土) 08:40:39.77ID:9Y1uaI8o0 >>852
ObjCで作ったクラスをSwiftが継承するってのもできるのかな?
ObjCで作ったクラスをSwiftが継承するってのもできるのかな?
854デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/10(土) 08:46:33.15ID:9Y1uaI8o0855デフォルトの名無しさん (ワッチョイ bd55-cAR5)
2017/06/10(土) 08:55:31.53ID:EfK23cou0 >>851
問題あるっつうか、Objective-Cの資産使う必要あるならわざわざSwift使う必要がないって思う
問題あるっつうか、Objective-Cの資産使う必要あるならわざわざSwift使う必要がないって思う
856デフォルトの名無しさん (ワッチョイ bd55-zulR)
2017/06/10(土) 09:15:44.06ID:EfK23cou0857デフォルトの名無しさん (ワッチョイ 0391-jiBQ)
2017/06/10(土) 11:51:05.65ID:GrQ3Xe9Q0 >>856
多分独り言
多分独り言
858デフォルトの名無しさん (ワッチョイ 05ea-lMIK)
2017/06/10(土) 12:20:40.40ID:HxRjgs+d0 こわっ
859デフォルトの名無しさん (ワッチョイ 2311-W7ul)
2017/06/10(土) 12:54:43.34ID:hjCkgTll0 ただの自己回答じゃね?
Twitterの自己返信みたいな使い方しちゃったんだろ。
Twitterの自己返信みたいな使い方しちゃったんだろ。
860デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/10(土) 15:23:23.67ID:Rd047FLv0 >>845
そういう名前のフレームワークがあるんだよアホ。
そういう名前のフレームワークがあるんだよアホ。
861デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/10(土) 15:48:27.13ID:Rd047FLv0 >>848
問題はない。保守がしんどいだけで
問題はない。保守がしんどいだけで
862デフォルトの名無しさん (アウアウウー Sa99-dRjq)
2017/06/10(土) 19:06:16.86ID:TAQSbKXRa なにそれ、テーラー展開用のフレームわ〜く?
863デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/11(日) 10:09:49.55ID:BuXbRrFL0864デフォルトの名無しさん (ワッチョイ a36c-AV8e)
2017/06/11(日) 10:44:29.60ID:tmILBbbd0 swift 2.0で開発止まってんじゃねーか
865デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/11(日) 11:06:27.75ID:BuXbRrFL0 だからswiftでweb開発なんてって事
866デフォルトの名無しさん (ワッチョイ 838f-dRjq)
2017/06/11(日) 11:42:58.68ID:zYiizf9w0 サーバサイドならPerfectってフレームワークがある
867デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
2017/06/11(日) 12:11:31.16ID:VsqhFcB6p IBMが何かウェブ向けフレームワークをOSSで提供してくれる・・・
そんなふうに考えていた時期が俺にもありました
そんなふうに考えていた時期が俺にもありました
868デフォルトの名無しさん (ワッチョイ a36c-AV8e)
2017/06/11(日) 12:19:05.50ID:tmILBbbd0 https://github.com/matteocrippa/awesome-swift#webserver
スター順でならべると
Perfect ★11,652 https://www.perfect.org/
vapor ★9,904 https://vapor.codes/
Kitura ★5,767 http://www.kitura.io/
Swifton ★2,055
swifter ★2,022
Zewo ★1,671
ウェブフレームワークはPerfect、Vapor、Kituraが三傑やね、いまんとこ
スター順でならべると
Perfect ★11,652 https://www.perfect.org/
vapor ★9,904 https://vapor.codes/
Kitura ★5,767 http://www.kitura.io/
Swifton ★2,055
swifter ★2,022
Zewo ★1,671
ウェブフレームワークはPerfect、Vapor、Kituraが三傑やね、いまんとこ
869デフォルトの名無しさん (ワッチョイ bda9-LdUt)
2017/06/11(日) 15:09:35.80ID:BuXbRrFL0 サーバサイドにswiftを採用するメリットって何かあるの?
毎年python3みたいなことしてるんでしょ
毎年python3みたいなことしてるんでしょ
870デフォルトの名無しさん (ワッチョイ bd55-zulR)
2017/06/11(日) 15:13:05.99ID:4QA65TrY0 SwiftはAppleがゴリ押してるから存在しているだけの言語だと何度言ったら(以下略
871デフォルトの名無しさん (ワッチョイ 838f-dRjq)
2017/06/11(日) 15:18:19.53ID:mK41LGi90 >>870
略さずに最後まで書けよズボラ野郎!
略さずに最後まで書けよズボラ野郎!
872デフォルトの名無しさん (ワッチョイ 0bdb-sY+Q)
2017/06/11(日) 15:41:34.56ID:APfeVpAp0 >>870
abiが安定したとしてswiftより良い言語なんてないよ!
abiが安定したとしてswiftより良い言語なんてないよ!
873デフォルトの名無しさん (ワッチョイ 5b6f-D9zB)
2017/06/11(日) 15:52:44.44ID:3FpcyRKx0 ここだけの話Kotlinやっとけばいいことあるぞ
874デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
2017/06/11(日) 17:12:11.91ID:pREpTAR10 >>869
それは違う。
それは違う。
875デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
2017/06/15(木) 16:56:41.86ID:mVk/sB5T0876デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
2017/06/15(木) 19:04:37.24ID:kFR7Ieffp 宣伝乙
877デフォルトの名無しさん (ワントンキン MMaa-EcN4)
2017/06/16(金) 09:31:12.11ID:v6knFPg7M Swiftは4で苦労し5になってさらに苦労する。
おそらく6も7も出るだろうな。
毎年ごくろうさまです
おそらく6も7も出るだろうな。
毎年ごくろうさまです
878デフォルトの名無しさん (ワッチョイ c76c-wt6g)
2017/06/16(金) 09:34:01.67ID:Z4YDsJ5H0879デフォルトの名無しさん (ワッチョイ c76c-wt6g)
2017/06/16(金) 09:35:16.81ID:Z4YDsJ5H0 Java8への移行は破壊的だったので、Java6, Java7の人は苦労してるんだろうなぁ。
880デフォルトの名無しさん (スップ Sd7a-ie7X)
2017/06/16(金) 09:52:18.35ID:XLEAF0GDd 何を破壊されたって?
881デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/16(金) 10:12:36.58ID:9j5+HHnT0 破壊されたのは俺の心だよ
882デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
2017/06/16(金) 10:19:11.52ID:MC5LwP34p Java8はABI相当にあたるbyte codeフォーマット変わったんじゃなかったけ?
まぁ昔からちょいちょい変わってるから今さら騒ぐことでもない
まぁ昔からちょいちょい変わってるから今さら騒ぐことでもない
883デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
2017/06/16(金) 10:58:51.50ID:IdvUD0Qs0 >>878
いやいや、ブラウザ依存のクライアントサイドはそんなに頻繁に移行しねえよ。
開発環境レベルでバージョン移行強制してくるAppleとは違う。
こいつらサポートコンパイラ平気で切り捨てるじゃん。
本当バカだよ。AppleもSwift推してるお前らも。
いやいや、ブラウザ依存のクライアントサイドはそんなに頻繁に移行しねえよ。
開発環境レベルでバージョン移行強制してくるAppleとは違う。
こいつらサポートコンパイラ平気で切り捨てるじゃん。
本当バカだよ。AppleもSwift推してるお前らも。
884デフォルトの名無しさん (ワッチョイ 7a6c-z4yC)
2017/06/16(金) 16:48:02.48ID:ZxleQuqQ0 4への移行はクソ楽だけどな
885デフォルトの名無しさん (ササクッテロロ Spab-fUjK)
2017/06/16(金) 19:06:19.00ID:KyUpje1ap 楽かどうかしゃなくて毎回移行が発生してる事自体がクソだし評価基準が低すぎるんじゃないか
886デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
2017/06/16(金) 21:53:14.84ID:uNQVqIhb0887デフォルトの名無しさん (ササクッテロレ Spab-O+YK)
2017/06/16(金) 23:05:44.86ID:uEZP+i89p 下位互換考えなくてもvarは消さないだろ
888デフォルトの名無しさん (ブーイモ MM97-yV4N)
2017/06/17(土) 13:26:55.34ID:NJSuCMN1M JSはトランスパイラかますことによって互換性への責務は
トランスパイラ側に負わすことができるようになったので開発者側には影響がなくなった
今周りでJSで互換性に困ってるやつおらんやろ?
Swiftは真似できんけどあまり真似して欲しくはないがな
今はうまく行ってるけど責務が分散しすぎると再び暗黒時代が到来するかもしれんからな
トランスパイラ側に負わすことができるようになったので開発者側には影響がなくなった
今周りでJSで互換性に困ってるやつおらんやろ?
Swiftは真似できんけどあまり真似して欲しくはないがな
今はうまく行ってるけど責務が分散しすぎると再び暗黒時代が到来するかもしれんからな
889デフォルトの名無しさん (ワッチョイ 136f-98cR)
2017/06/17(土) 13:41:27.85ID:/vA8NV250 Swift作ってる連中頭おかしい
890デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/17(土) 13:45:24.41ID:gKqJeiga0 変でいい、変でなきゃダメだ…狂ってなきゃ、逸脱してなきゃ悪魔は殺せない
891デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
2017/06/17(土) 16:24:46.39ID:H3LE0Ews0 そしてまたジョブス不在の暗黒時代を繰り返す。
892デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/17(土) 17:14:38.56ID:gKqJeiga0 そしてまたジョブズが復帰
893デフォルトの名無しさん (ササクッテロリ Spab-mFeN)
2017/06/17(土) 17:31:48.49ID:MZFg2U9ip Xcode 9のリリースノートを今更読んでたら
> New Build System
> Xcode 9 includes a new build system written from scratch in Swift.
ってあってワロタ、なんて無茶なことを・・・
まだデフォルトでは無効になってるようだけど面白そうだから誰か人柱になって常用してみてくれよ
あと、ObjCへのSwift機能のバックポートは今回はないのなー
いつも何らかバックポートしてたからそこそこ楽しみにしてたので残念だ
> New Build System
> Xcode 9 includes a new build system written from scratch in Swift.
ってあってワロタ、なんて無茶なことを・・・
まだデフォルトでは無効になってるようだけど面白そうだから誰か人柱になって常用してみてくれよ
あと、ObjCへのSwift機能のバックポートは今回はないのなー
いつも何らかバックポートしてたからそこそこ楽しみにしてたので残念だ
894デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
2017/06/17(土) 18:18:31.38ID:H3LE0Ews0 リファクタリング機能にObjC -> Swiftの変換機能入ってるらしいな。
895デフォルトの名無しさん (ワッチョイ 2755-acG4)
2017/06/17(土) 19:04:06.90ID:K9qvepHC0 Swiftを使う必要性
896デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
2017/06/17(土) 22:31:16.17ID:254ieyWi0 >>892
まじで初のAI CEOとして復活してほしいわ。アップルまじで終わりそうじゃないか
まじで初のAI CEOとして復活してほしいわ。アップルまじで終わりそうじゃないか
897デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/18(日) 11:51:51.46ID:5AZFASrW0 メモ
var family = "👨"
family += "¥u{200D}👩"
family += "¥u{200D}👧"
family += "¥u{200D}👦"
print(family)
var family = "👨"
family += "¥u{200D}👩"
family += "¥u{200D}👧"
family += "¥u{200D}👦"
print(family)
898デフォルトの名無しさん (ワッチョイ baea-fUjK)
2017/06/18(日) 12:54:19.07ID:a6KDZwUX0899デフォルトの名無しさん (スッップ Sdda-ie7X)
2017/06/18(日) 12:58:55.68ID:gEuoDnOrd あいぽん出るまでも十分に落ちぶれてたけどな
またもとに戻ってきただけやん?
またもとに戻ってきただけやん?
900デフォルトの名無しさん (アークセー Sxab-+aAl)
2017/06/18(日) 14:33:51.23ID:JELBB552x 今のiPhoneのデザインと種類、iPadの種類見たら発狂するだろうな
901デフォルトの名無しさん (ワッチョイ aee3-2WTa)
2017/06/18(日) 15:42:22.77ID:7Dc/+OM00 ジョブスいてもアップルウォッチとかやってたし
スマホを普及させようって思惑があったからジョブス担ぎ出してたんじゃないの
突破力あっても先のネタがないときはダメなんじゃね
スマホを普及させようって思惑があったからジョブス担ぎ出してたんじゃないの
突破力あっても先のネタがないときはダメなんじゃね
902デフォルトの名無しさん (ワッチョイ 877e-MpGW)
2017/06/19(月) 01:43:58.06ID:E2TKZOHI0 米Yahooの凋落ブリを見れば、Appleだって盤石では無いかもしれん。
Hardwareやってるからって安心じゃ無いと思う。
Kodakだって、Sum Microsystemsだって、今は無いし。
Hardwareやってるからって安心じゃ無いと思う。
Kodakだって、Sum Microsystemsだって、今は無いし。
903デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
2017/06/19(月) 02:23:53.66ID:2IBzsU2g0 最近はfacebookとmsを見直した。
ライブラリとか開発環境という意味で。
appleもjetbrainにide外注してもいい頃なのかも。
ライブラリとか開発環境という意味で。
appleもjetbrainにide外注してもいい頃なのかも。
904デフォルトの名無しさん (ワッチョイ 8bdb-ie7X)
2017/06/19(月) 02:43:40.88ID:+dhODesl0 ないわ
905デフォルトの名無しさん (ワッチョイ 2746-C0RR)
2017/06/19(月) 07:25:43.76ID:ZJvPGQy00 Swiftを使う必要性
906デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/19(月) 09:47:36.08ID:XZD/3rJT0 Swiftを使わない現実逃避性
907デフォルトの名無しさん (ワッチョイ c76c-wt6g)
2017/06/19(月) 10:46:35.06ID:zE2VOzv50 >>906
俺も現実逃避して、RubyでCrowler作ってる。
そんでもって、苦手なJavaScriptをいじってみた。
SwiftやRubyのClassがJavaScriptではコンストラクタ関数なのね。
Classの継承みたいな事もできるのね。
Chef.prototype = new Person();
上記は食堂のシェフさんは、Person()コンストラクタを継承している、ってのを意味する。
ここ2週間でJavaScriptの苦手意識が和らいだ。
俺も現実逃避して、RubyでCrowler作ってる。
そんでもって、苦手なJavaScriptをいじってみた。
SwiftやRubyのClassがJavaScriptではコンストラクタ関数なのね。
Classの継承みたいな事もできるのね。
Chef.prototype = new Person();
上記は食堂のシェフさんは、Person()コンストラクタを継承している、ってのを意味する。
ここ2週間でJavaScriptの苦手意識が和らいだ。
908デフォルトの名無しさん (ワッチョイ c76c-wt6g)
2017/06/19(月) 10:48:38.23ID:zE2VOzv50909デフォルトの名無しさん (ワッチョイ bb11-ueIM)
2017/06/19(月) 12:00:57.83ID:7W009+1i0 プログラムから合体エントリがあるかどうかって分かんないのこれ・・・
https://swift.sandbox.bluemix.net/#/repl/59473ded61bf2911d247146c
https://swift.sandbox.bluemix.net/#/repl/59473ded61bf2911d247146c
910デフォルトの名無しさん (ワッチョイ c76c-wt6g)
2017/06/19(月) 13:00:03.61ID:zE2VOzv50911デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
2017/06/20(火) 17:37:25.95ID:lZPWgdLT0 最近Kotlinの話題ばっか見かけるな。
Swift飽きたのか?Swiftに見切りを付けたのか?
Swift飽きたのか?Swiftに見切りを付けたのか?
912デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
2017/06/20(火) 19:20:46.18ID:Efx6+h5Up 釣られクマー
913デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
2017/06/20(火) 19:48:42.24ID:lZPWgdLT0 すまん誤爆した
914デフォルトの名無しさん (ワッチョイ aee3-2WTa)
2017/06/20(火) 23:39:45.33ID:Be6KQlsF0 いいこと知った
今度からDBのキーにしよう
今度からDBのキーにしよう
915デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
2017/06/21(水) 02:23:36.15ID:CAzvCkNY0 swift学んでもどんどん仕様変わるし、kotlinでいいや。jsのトランスパイラとしても使えて汎用性も高い
916デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
2017/06/21(水) 09:14:44.69ID:igMpLhZ+0917デフォルトの名無しさん (ワッチョイ baea-fUjK)
2017/06/21(水) 12:57:49.34ID:HAJg4uQG0 ラトナーがテスラ辞めるらしいね。Appleに戻る事はないよな。
918デフォルトの名無しさん (ササクッテロラ Spab-mFeN)
2017/06/21(水) 13:21:24.57ID:8HJLBlFbp Googleにでも行って腰を落ち着ければいいんじゃないかなぁ!
GoはそんなにLLVMに依存してないからあんまり重宝されそうにないけど
swift.orgかIBMに行ってやっぱりSwiftの発展に貢献するわって言い出したら大笑いする
GoはそんなにLLVMに依存してないからあんまり重宝されそうにないけど
swift.orgかIBMに行ってやっぱりSwiftの発展に貢献するわって言い出したら大笑いする
919デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/21(水) 13:29:52.06ID:+68Qq9J60 Swiftの初期設計もそうだったけど、ラトナーってあまり先のこと考えずに物事進める人なんかな
920デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
2017/06/21(水) 14:30:26.68ID:igMpLhZ+0 >>917
Autopilot部門にはすでに替りの2名が雇われているって事は、
Chris Latterはfiredされたっぽい。
https://electrek.co/2017/06/20/tesla-autopilot-chris-lattner-software-vision/
Autopilot部門にはすでに替りの2名が雇われているって事は、
Chris Latterはfiredされたっぽい。
https://electrek.co/2017/06/20/tesla-autopilot-chris-lattner-software-vision/
921デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
2017/06/21(水) 14:32:12.77ID:+68Qq9J60 お、お前は、く、首だぁーーーっ!!!
てこと?
てこと?
922デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
2017/06/21(水) 14:33:21.11ID:igMpLhZ+0 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
結局テスラには合わんかった。期間限定の技術リーダー職に興味あり!
って言ってるから、行き先がまだ決まらんらしい。
Chris LatterのTweet
結局テスラには合わんかった。期間限定の技術リーダー職に興味あり!
って言ってるから、行き先がまだ決まらんらしい。
923デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
2017/06/21(水) 14:36:10.85ID:igMpLhZ+0 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に新しい職を探してる。履歴書はココ!って書いてある。
nondot.org/sabre
Twitterのprofileに新しい職を探してる。履歴書はココ!って書いてある。
924デフォルトの名無しさん (ワッチョイ c76c-5VRQ)
2017/06/21(水) 14:37:20.10ID:igMpLhZ+0 以外とJobsみたいにAppleに戻るかも。
925デフォルトの名無しさん (スップ Sd7a-acG4)
2017/06/21(水) 18:07:27.80ID:+sFm3C+Zd926デフォルトの名無しさん (ワッチョイ 2746-C0RR)
2017/06/21(水) 18:41:46.64ID:V+qHgbfB0 >>908
ASCII文字のインクリメントと本質的に何か違うの?
ASCII文字のインクリメントと本質的に何か違うの?
927デフォルトの名無しさん (ワッチョイ 1ade-RAw3)
2017/06/21(水) 19:15:11.74ID:/mlOW3lC0 いや、ここはJetbrains行ってKotlin担当になるのもあり
928デフォルトの名無しさん (ワッチョイ 37a9-TgRi)
2017/06/22(木) 01:14:15.86ID:77+4f1XL0 >>927
kotlinの終りが始まるじゃないか
kotlinの終りが始まるじゃないか
929デフォルトの名無しさん (JP 0H3f-ZLad)
2017/06/22(木) 13:33:25.75ID:vCyDOsNXH name:string
型推論がいる場合と、いらない場合ってどうやって見分けるの?
型推論がいる場合と、いらない場合ってどうやって見分けるの?
930デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/22(木) 13:41:59.31ID:bN+uDoCT0 んなもん推論できるかどうかに決まってるだろ
931デフォルトの名無しさん (ササクッテロリ Sp0b-H9SD)
2017/06/22(木) 14:52:44.89ID:6k72kRRJp Swiftの型推論は単純だから=で繋いだ右辺から型が推測できる場合に省略可能って判断で良いんじゃないの
右辺で指定した型から後続の処理に依って型を見直すような奇怪な処理はSwiftでは存在しない
func get_name() -> String {
return "Hello World"
}
let name = "Hello World"
let name2 = get_name()
let name3: String // 省略不可
クロージャーパラメータは省略して良い/悪い場合があるけどAppleのReferenceに記述がないな
省略してエラー出たら処置してるけど、振る舞いについて明確な記述があると良いんだけど・・・
右辺で指定した型から後続の処理に依って型を見直すような奇怪な処理はSwiftでは存在しない
func get_name() -> String {
return "Hello World"
}
let name = "Hello World"
let name2 = get_name()
let name3: String // 省略不可
クロージャーパラメータは省略して良い/悪い場合があるけどAppleのReferenceに記述がないな
省略してエラー出たら処置してるけど、振る舞いについて明確な記述があると良いんだけど・・・
932デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
2017/06/22(木) 19:57:14.67ID:7u4/pAoZ0 しかし、なんでこの時期にobjective-cからswiftにしたんやろ
appleもジョブズ全盛期のiPod、iPhoneの黄金時代にこういう事するならわかるんだけど
(スマホのアプリ開発だったらobjective-cは冗長かもしれないからswiftみたいなのがあった方が
よかったかもしれない)
どっちかってとandroidとかが台頭してきて
apple自体が緩やかに下降してる時期にこういう事しても混乱するだけのような気がする
appleもジョブズ全盛期のiPod、iPhoneの黄金時代にこういう事するならわかるんだけど
(スマホのアプリ開発だったらobjective-cは冗長かもしれないからswiftみたいなのがあった方が
よかったかもしれない)
どっちかってとandroidとかが台頭してきて
apple自体が緩やかに下降してる時期にこういう事しても混乱するだけのような気がする
933デフォルトの名無しさん (ワッチョイ 9f11-sx/F)
2017/06/22(木) 20:08:42.38ID:ufUHiQwH0 >>932
それだよな。
俺もこれを機会にXamarinなんかのマルチプラットフォームに移行しようかと思ってる。
Swiftは結局Apple DeveloperのCocoa離れを招いただけにしか見えん。
それだよな。
俺もこれを機会にXamarinなんかのマルチプラットフォームに移行しようかと思ってる。
Swiftは結局Apple DeveloperのCocoa離れを招いただけにしか見えん。
934デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/22(木) 20:38:43.88ID:bN+uDoCT0 Obj-CはC言語の知識を前提にしてて初心者にはハードルが高かったからな
Swiftは今や教育の現場でも使われてる(Apple談)らしいし
開発者の裾野のを広げたという意味では成功だったんじゃね?
Swiftは今や教育の現場でも使われてる(Apple談)らしいし
開発者の裾野のを広げたという意味では成功だったんじゃね?
935デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
2017/06/22(木) 20:48:25.27ID:7u4/pAoZ0 だとしても時期が最悪すぎるkotlinとモロ被りしてるから
なによりswiftが今後も使われ続けるっていう保証が無いのが厳しい
今objective-cでその前例を作ろうとしてるし
なんだかんだ言ってwindowsはずーとc++かc#をメインに据えるつもりだろうし
だから技術者も安心出来るけどobjective-cは話が違うと思う
なによりCocoaのコアはobjective-c使ってんのにわざわざ新規のappleデベロッパが
objective-c使わなくてもいい状態作る意味がよくわからんわ
なによりswiftが今後も使われ続けるっていう保証が無いのが厳しい
今objective-cでその前例を作ろうとしてるし
なんだかんだ言ってwindowsはずーとc++かc#をメインに据えるつもりだろうし
だから技術者も安心出来るけどobjective-cは話が違うと思う
なによりCocoaのコアはobjective-c使ってんのにわざわざ新規のappleデベロッパが
objective-c使わなくてもいい状態作る意味がよくわからんわ
936デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
2017/06/22(木) 20:53:42.90ID:7u4/pAoZ0 別にswiftアンチって訳じゃない
なんで今このタイミングでってのが正直な感想
objective-cを排斥したいとかそういう訳じゃないだろうし
なんで今このタイミングでってのが正直な感想
objective-cを排斥したいとかそういう訳じゃないだろうし
937デフォルトの名無しさん (スップ Sdbf-X2fd)
2017/06/22(木) 20:54:27.76ID:eF77QSCOd938デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/22(木) 21:05:59.51ID:bN+uDoCT0 なんでこのタイミングでって
もう3年たってんだが
モダン言語がもてはやされてる中で旧態依然としたObj-Cは言語的な限界を抱えて
ジリ貧だったし
まぁそれでもObj-Cのサポートもまだやめるとも言ってないし、Swiftが嫌なら、Obj-C使ってればいいだろ
それにMSだって、ベーシック、VB、C++、C#とプッシュする言語を変えたりしてきてるだろ
VBスクリプトとか、JScript とかプッシュに失敗した言語もあるけど
もう3年たってんだが
モダン言語がもてはやされてる中で旧態依然としたObj-Cは言語的な限界を抱えて
ジリ貧だったし
まぁそれでもObj-Cのサポートもまだやめるとも言ってないし、Swiftが嫌なら、Obj-C使ってればいいだろ
それにMSだって、ベーシック、VB、C++、C#とプッシュする言語を変えたりしてきてるだろ
VBスクリプトとか、JScript とかプッシュに失敗した言語もあるけど
939デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/22(木) 21:10:11.23ID:bN+uDoCT0 そういえば、Visual J++ なんて言語もあったな
940デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
2017/06/22(木) 21:10:50.57ID:7u4/pAoZ0 >>937
それちらっと考えた事あるけどマジだったらappleやばすぎんだろ
なんでよりによって言語に手を出すのかイミフすぎるw
それだったら海外で普及率が高くてcに近いpython(もしくはアンチ多いのは知ってるけどjava)
採用すれば良かったのにpythonのインデントには一長一短あるけどappleがそこらへん改良すればよかったんに
それちらっと考えた事あるけどマジだったらappleやばすぎんだろ
なんでよりによって言語に手を出すのかイミフすぎるw
それだったら海外で普及率が高くてcに近いpython(もしくはアンチ多いのは知ってるけどjava)
採用すれば良かったのにpythonのインデントには一長一短あるけどappleがそこらへん改良すればよかったんに
941デフォルトの名無しさん (ワッチョイ 17f3-PFpe)
2017/06/22(木) 21:18:45.66ID:7u4/pAoZ0942デフォルトの名無しさん (ワッチョイ 3746-WRcl)
2017/06/22(木) 21:56:17.52ID:vSIEqre/0 >>940
Apple製の独自言語にこだわったんだろ
Apple製の独自言語にこだわったんだろ
943デフォルトの名無しさん (ワッチョイ 3746-WRcl)
2017/06/22(木) 21:57:47.73ID:vSIEqre/0944デフォルトの名無しさん (ワッチョイ 3746-WRcl)
2017/06/22(木) 22:02:43.23ID:vSIEqre/0 >>938
言語的な限界というけど、Objective-CでiOS市場がここまで発展してきた事実がある
Objective-Cが原因で市場の伸びに陰りが見えてきたわけでもなかろう
要するに政治的理由によってSwiftが生まれ、後付けで技術的な理由を与えて
正当化に邁進しているのが今のAppleの姿
言語的な限界というけど、Objective-CでiOS市場がここまで発展してきた事実がある
Objective-Cが原因で市場の伸びに陰りが見えてきたわけでもなかろう
要するに政治的理由によってSwiftが生まれ、後付けで技術的な理由を与えて
正当化に邁進しているのが今のAppleの姿
945デフォルトの名無しさん (ササクッテロル Sp0b-wVVW)
2017/06/22(木) 22:05:09.51ID:5WVJd+L9p ここ数年はKotlinやらファブレットやらウェアラブルやら他社の真似事と後追いでしょ。
社内で長年研究してたとしても公開が遅いと目新しさは無くなるし、昔に比べてAppleが最前線に立って時代を牽引してる感が減った。
社内で長年研究してたとしても公開が遅いと目新しさは無くなるし、昔に比べてAppleが最前線に立って時代を牽引してる感が減った。
946デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
2017/06/22(木) 22:05:20.80ID:51iYkjz/d せめてabi安定してから正式にリリースするべきだったとは思うね
947デフォルトの名無しさん (ササクッテロル Sp0b-wVVW)
2017/06/22(木) 22:12:28.64ID:5WVJd+L9p iPhoneはそれまでのスマホを変えたしiPadはそれまでのタブレットを変えただろ?今のAppleにはそういう力が無いように思える。Swiftは世の中にとってのプログラミングというものを変えるのかな。
ちなAppleディスじゃなくてこれからも期待したいって気持ち。
ちなAppleディスじゃなくてこれからも期待したいって気持ち。
948デフォルトの名無しさん (ワッチョイ 17e3-ZLad)
2017/06/22(木) 22:17:12.23ID:S5knCHGZ0 abi安定ってバージョン間の互換性のことじゃないん…?
949デフォルトの名無しさん (ササクッテロリ Sp0b-TFIf)
2017/06/22(木) 23:19:44.48ID:6k72kRRJp MusicとかPayとかTVとか後発の上で転けたソリューションはApple多いだろ
なんで言語だけ失敗してると思っちゃってるのか
いつもの失敗事例と理解した上で、信者を煽って儲けるのよ
そして儲け時は3前後で終わった
なんで言語だけ失敗してると思っちゃってるのか
いつもの失敗事例と理解した上で、信者を煽って儲けるのよ
そして儲け時は3前後で終わった
950デフォルトの名無しさん (ワッチョイ 9fea-wVVW)
2017/06/23(金) 00:33:18.91ID:9ZdnzQ7F0 過去の資産もあるしApple自身がなかなかSwiftに移行出来てないよな。Objective-Cのままコンパライラだけ改良すれば良かったんじゃないのか。
951デフォルトの名無しさん (スップ Sd3f-X2fd)
2017/06/23(金) 00:38:54.07ID:lq6hyr5yd >>950
Objective-C 3.0でよかったと思ってる人は少なくない
Objective-C 3.0でよかったと思ってる人は少なくない
952デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/23(金) 01:18:47.90ID:iQFnf+tE0 フレームワークは別にSwiftで書き直す必要はないだろ
Xcode9は、Swiftで書き直されたらしいけど
Xcode9は、Swiftで書き直されたらしいけど
953デフォルトの名無しさん (ワッチョイ 1717-xZYH)
2017/06/23(金) 08:46:40.14ID:xn1MMrsE0 >>935
Carbon APIからCocoa APIに移行した前例はなかった、いいね?
Xcode9はswiftでリメイクされてねーよw
されたのはビルドツールの低レイヤーの一部で、それもまだ試験段階のオプショナル機能で本流は依然C/C++のままだよ
Carbon APIからCocoa APIに移行した前例はなかった、いいね?
Xcode9はswiftでリメイクされてねーよw
されたのはビルドツールの低レイヤーの一部で、それもまだ試験段階のオプショナル機能で本流は依然C/C++のままだよ
954デフォルトの名無しさん (エムゾネ FFbf-X2fd)
2017/06/23(金) 09:12:46.00ID:aALxvsi9F >>935
ほんそれ
ほんそれ
955デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
2017/06/23(金) 09:18:53.01ID:QvFo+gQid モダン言語への移行に文句言ってるのは老害やろ
kotlinでいい?
うむ、特に反論はない
あ、でもおれはプロトコルマンセーだからswiftの方が好きやで
kotlinでいい?
うむ、特に反論はない
あ、でもおれはプロトコルマンセーだからswiftの方が好きやで
956デフォルトの名無しさん (スップ Sd3f-X2fd)
2017/06/23(金) 09:42:00.66ID:jqp+LnwHd モダン()
957デフォルトの名無しさん (ササクッテロリ Sp0b-xZYH)
2017/06/23(金) 09:58:29.28ID:hp7X3mpnp ObjC 2.0 = Modern ObjC ってそれ一番言われてるから
モダン()
モダン()
958デフォルトの名無しさん (ワッチョイ 376c-dFnT)
2017/06/23(金) 10:12:48.79ID:WbdPjV0H0 開発環境のモダナイズにSwiftが貢献したのは確実!
モダン言語には、
Generics、遅延評価、リフレクション、非同期実行、Reactive Extensionが必要だが、Swiftには全部ある。
Obj-Cには幾つかが欠けている。
モダン言語には、
Generics、遅延評価、リフレクション、非同期実行、Reactive Extensionが必要だが、Swiftには全部ある。
Obj-Cには幾つかが欠けている。
959デフォルトの名無しさん (JP 0H3f-ZLad)
2017/06/23(金) 10:22:25.69ID:CKidImyzH Obj-Cって、Basicみたいになるの?無くなる?
Swiftって、C#みたいになるの?
Swiftって、C#みたいになるの?
960デフォルトの名無しさん (スッップ Sdbf-lciP)
2017/06/23(金) 10:58:06.85ID:jL8+m71Sd 好きな順番
1:Z80 Zilog Assembler
2:SHARP MZ-2Z002
3:Objective-C 2.0
4:TURBO C
5:N88-BASIC V2
1:Z80 Zilog Assembler
2:SHARP MZ-2Z002
3:Objective-C 2.0
4:TURBO C
5:N88-BASIC V2
961デフォルトの名無しさん (ワッチョイ 376c-dFnT)
2017/06/23(金) 11:28:21.30ID:WbdPjV0H0 好きな順番
N88-BASIC
Visual Basic
Ruby
Swift
JavaScript
N88-BASIC
Visual Basic
Ruby
Swift
JavaScript
962デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
2017/06/23(金) 12:04:26.10ID:QvFo+gQid >>956
はい老害
はい老害
963デフォルトの名無しさん (ワッチョイ 9f11-sx/F)
2017/06/23(金) 12:14:32.98ID:BfkpCo240 プログラミング界隈での老害認定は議論にならないから禁止な。
お前ら小飼弾にも老害認定するのかよ。
お前ら小飼弾にも老害認定するのかよ。
964デフォルトの名無しさん (スプッッ Sdbf-Xkcm)
2017/06/23(金) 13:08:51.24ID:KKIk1huhd プログラミングやIT技術と老害は切っても切れないよ
老人は自分の全盛期の知識にしがみつくしか能がないからね
老人は自分の全盛期の知識にしがみつくしか能がないからね
965デフォルトの名無しさん (スッップ Sdbf-lciP)
2017/06/23(金) 16:16:36.25ID:jL8+m71Sd >>964
そんな事は無いよ。
そんな事は無いよ。
966デフォルトの名無しさん (スップ Sd3f-X2fd)
2017/06/23(金) 23:04:46.99ID:jqp+LnwHd >>962
老外は何歳から?
老外は何歳から?
967デフォルトの名無しさん (ワッチョイ 9711-ZLad)
2017/06/24(土) 10:32:13.99ID:E2zAWyMy0 関数型言語の要素を取り入れたのに
SequenceのmapとflatMapの戻り値を遅延評価不可能な配列にしちゃったり
ジェネリックプロトコル型の変数を作れなかったりと
所々野暮ったいSwiftはモダン言語というよりモダンを目指してる言語
SequenceのmapとflatMapの戻り値を遅延評価不可能な配列にしちゃったり
ジェネリックプロトコル型の変数を作れなかったりと
所々野暮ったいSwiftはモダン言語というよりモダンを目指してる言語
968デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/24(土) 11:22:20.79ID:/vm3G4xV0 そんなことないもん
もだんだもん
もだんだもん
969デフォルトの名無しさん (ワッチョイ 3746-WRcl)
2017/06/24(土) 12:15:23.26ID:jG1C/Elt0 モダンこそ正義
970デフォルトの名無しさん (JP 0H3f-ZLad)
2017/06/25(日) 20:03:23.90ID:VoklklBBH iPhone作成の本買ったんだよ
ひと通り勉強して、やっと作成編に行ったんだけど
(acceleDeta:CMAccele!, error:ESError!)in
これが、構造体なのか、タプルなのか何かがわからない
最後の「!」 、これなんだよ
ひと通り勉強して、やっと作成編に行ったんだけど
(acceleDeta:CMAccele!, error:ESError!)in
これが、構造体なのか、タプルなのか何かがわからない
最後の「!」 、これなんだよ
971デフォルトの名無しさん (ワッチョイ 377e-lHQv)
2017/06/25(日) 20:21:35.38ID:o1RuyNcZ0 >>970
forced unwrappingのマーク
forced unwrappingのマーク
972デフォルトの名無しさん (ワッチョイ 377e-lHQv)
2017/06/25(日) 20:22:17.61ID:o1RuyNcZ0 >>970
arguments list of closure
arguments list of closure
973デフォルトの名無しさん (ワッチョイ 377e-lHQv)
2017/06/25(日) 20:23:31.00ID:o1RuyNcZ0974デフォルトの名無しさん (ワッチョイ 377e-lHQv)
2017/06/25(日) 20:25:37.23ID:o1RuyNcZ0 closureのある言語とは関わりが無かったのか?
JavaScript, Ruby, Obj-C, C#, Java8, Lisp
最近の言語には、皆搭載の機能なんだが!
JavaScript, Ruby, Obj-C, C#, Java8, Lisp
最近の言語には、皆搭載の機能なんだが!
975デフォルトの名無しさん (ワッチョイ f766-WRcl)
2017/06/25(日) 20:26:12.85ID:Sj7e/z2A0 さすがCよりハードルが低いと豪語するSwift様ですね^^
976デフォルトの名無しさん (ワッチョイ 377e-lHQv)
2017/06/25(日) 20:29:33.95ID:o1RuyNcZ0 forced unwrapping搭載の言語は、
Rust、Module std::option
TypeScript、 Non-Nullable Types
Python、 UnionTypes
まあ、C言語のUnionだな。
Rust、Module std::option
TypeScript、 Non-Nullable Types
Python、 UnionTypes
まあ、C言語のUnionだな。
977デフォルトの名無しさん (ワッチョイ 9711-ZLad)
2017/06/25(日) 22:49:02.65ID:zM0QRH7J0978デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
2017/06/26(月) 13:44:48.41ID:FTzX3tdcd 暗黙アンラップは互換のためとはいえゴミ機能や
979デフォルトの名無しさん (JP 0H3f-ZLad)
2017/06/26(月) 18:24:42.23ID:BaJYx0onH 82歳おばあちゃんプログラマーやて
2年だぞ
2年だぞ
980デフォルトの名無しさん (ワッチョイ 9f0f-q/w5)
2017/06/27(火) 23:50:37.10ID:Tdvy+2PR0 82歳コンピュータおばあちゃんはSwift使って開発したの?
981デフォルトの名無しさん (ワッチョイ 9fea-wVVW)
2017/06/28(水) 00:16:32.13ID:ut8cEm7Q0 そだよ
982デフォルトの名無しさん (JP 0H3f-ZLad)
2017/06/28(水) 10:46:24.01ID:5Wgu0I0dH 雛人形のアプリ作るって、最初から決めてたんで
作れたそうだ
作れたそうだ
983デフォルトの名無しさん (スプッッ Sd3f-Xkcm)
2017/06/28(水) 11:14:13.23ID:fPVyfCmwd swift playgroundとかいうお子ちゃまアプリつかったんかな
984デフォルトの名無しさん (ワッチョイ 376c-dFnT)
2017/06/28(水) 12:40:11.70ID:TPFzyswt0985デフォルトの名無しさん (ワッチョイ 376c-dFnT)
2017/06/28(水) 12:41:43.48ID:TPFzyswt0 2014年に定年退職
この人書いてる
すごい
この人書いてる
すごい
986デフォルトの名無しさん (ワッチョイ 1f8f-dFnT)
2017/06/28(水) 13:32:00.65ID:Kwjhme2a0 糞アプリなのにババアが作ったというだけで高評価
俺もババアということにしようかな
俺もババアということにしようかな
987デフォルトの名無しさん (ワッチョイ 9f6c-Tszu)
2017/06/28(水) 14:03:37.26ID:pBLqwlVb0 BMI計算機作ろうぜ
988デフォルトの名無しさん (ワッチョイ 9711-WRiT)
2017/06/28(水) 18:00:07.61ID:KUDOoNV30989デフォルトの名無しさん (ワッチョイ 4211-HgJU)
2017/06/29(木) 14:06:17.68ID:d+4+tRQx0 SwiftのUnsafePointe<T>r .memoryってなんでUnsafePointer<T> .pointeeになったんだ?
pointerじゃないのかよ。
pointerじゃないのかよ。
990デフォルトの名無しさん (ワッチョイ 1911-G2r4)
2017/06/29(木) 14:25:07.25ID:pdm0wtJX0 int* pointer = ...;
int pointee = *pointer;
int pointee = *pointer;
991デフォルトの名無しさん (ワッチョイ 2d6c-ddzC)
2017/06/29(木) 14:33:31.72ID:7eb8fA4L0992デフォルトの名無しさん (ワッチョイ 4211-HgJU)
2017/06/29(木) 15:11:16.70ID:d+4+tRQx0 値渡しだったのかよこれ。letで受け取ってたから気づかなかったわ。
993デフォルトの名無しさん (アウアウカー Sae9-HpRm)
2017/06/29(木) 20:28:22.35ID:34OH2oZDa ぼいんてぃー
994デフォルトの名無しさん (ワッチョイ d291-WwN4)
2017/06/30(金) 11:10:30.24ID:EJMJZTSL0 質問があります。
下記のような文をよく見かけます。
var user: User = User() ----(1)
例えば、下記のような書き方もありえますよね。
var person: User = User() ----(2)
(1)が通常の書き方なんですか?
下記のような文をよく見かけます。
var user: User = User() ----(1)
例えば、下記のような書き方もありえますよね。
var person: User = User() ----(2)
(1)が通常の書き方なんですか?
995デフォルトの名無しさん (ワッチョイ f148-a07H)
2017/06/30(金) 11:44:55.96ID:MEzXkkkz0 >>994
変数名をどう付けるかというのは状況によるから通常の書き方とかはないんじゃないかな
クラス名を小文字やキャメルケースにしたものを変数名にするときは多いけど、それが原則ってわけでもないし
var employer: User = User()
var employee: User = User()
とかもっと具体的に意味がある名前をつけることだって多いし
変数名をどう付けるかというのは状況によるから通常の書き方とかはないんじゃないかな
クラス名を小文字やキャメルケースにしたものを変数名にするときは多いけど、それが原則ってわけでもないし
var employer: User = User()
var employee: User = User()
とかもっと具体的に意味がある名前をつけることだって多いし
996デフォルトの名無しさん (ワッチョイ 2d6c-ddzC)
2017/06/30(金) 12:44:48.18ID:BBkM2EA10 通常と例外
一般と特殊
これは、どういった概念なんだ?と俺もかつては思い悩んだ。
変数名、関数名、クラス名、プロトコル名を考えるのって、結構時間かかるから、最初は、a, b, x, yを使って後からフィファクタリングする事も多い。
一般と特殊
これは、どういった概念なんだ?と俺もかつては思い悩んだ。
変数名、関数名、クラス名、プロトコル名を考えるのって、結構時間かかるから、最初は、a, b, x, yを使って後からフィファクタリングする事も多い。
997デフォルトの名無しさん (ワッチョイ d291-WwN4)
2017/06/30(金) 12:56:02.23ID:EJMJZTSL0998デフォルトの名無しさん (スップ Sdc2-sdB6)
2017/06/30(金) 16:23:18.62ID:B19xTbuId >>996
フィファクタリングって何?
フィファクタリングって何?
999デフォルトの名無しさん (エムゾネ FF62-W+l3)
2017/06/30(金) 20:04:29.44ID:7nu1Jmy1F >>998
わかっててそういうこと言うと嫌われるよ
わかっててそういうこと言うと嫌われるよ
1000デフォルトの名無しさん (ワッチョイ 928f-ddzC)
2017/06/30(金) 21:05:08.71ID:2WM8OB5N0 フィファクタリングとか今どき小学生でも知ってるだろ
10011001
Over 1000Thread このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 130日 11時間 4分 55秒
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 130日 11時間 4分 55秒
10021002
Over 1000Thread 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 【米国】「トランプ・ゴールドカード」の受付開始 1億5600万円でアメリカの永住権を獲得 ウェブサイトで申し込み [ぐれ★]
- 【東京】テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント 通行人の男性巻き込まれ軽傷 六本木 [ぐれ★]
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★5 [BFU★]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- エナジードリンク、危険だった。飲酒喫煙もせずランニングが趣味の54歳の若者が毎日たった8本飲むだけで脳卒中に [742348415]
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
- はるととかいうスマブラやってる不登校のガキしね
- 【サナ活】高市さん、米国でも大人気な模様。パワフル女性世界3位に高市首相 米誌フォーブス選出 [535898635]
- ホロライブvtuberさん、ソシャゲに登場するも演技力で界隈に衝撃が走る [329329848]
