Swift part4 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/11/13(木) 15:39:01.67ID:TmOo0Hy+関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/
新言語Swiftを語るスレ
http://anago.2ch.net/test/read.cgi/mac/1401736249/
プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/
前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/
0060デフォルトの名無しさん
2014/12/01(月) 01:19:16.88ID:6ZzPtxrY日経はなあ... メールがウザすぎるという点があるので、中傷もありだと思いますw
0061デフォルトの名無しさん
2014/12/01(月) 01:50:36.48ID:WSkuKvua0062デフォルトの名無しさん
2014/12/01(月) 03:33:14.56ID:wM1+Dawi日経にメアドなんて渡してない俺らだしな。
0063デフォルトの名無しさん
2014/12/01(月) 03:40:31.56ID:1p4A3HL/0064デフォルトの名無しさん
2014/12/01(月) 04:36:08.12ID:wM1+Dawiいつものマルチポスト君か。でおしまい
むしろ、ステマだ!工作だ!とか
いやおまえいま何歳だよ。と画面にツッコミ入る
0065デフォルトの名無しさん
2014/12/01(月) 04:59:18.16ID:ayQKSVPoプログラムに触ったことすら無いけど頑張ってSwift覚えるよ。
慣れたら、今は全くの別業界の販売業だけどIT業界にいこうと思う。
0066デフォルトの名無しさん
2014/12/01(月) 07:50:31.03ID:96UzexKYむしろ「ステマ」のレスまでがテンプレでそれに突っ込む>>59に若さを感じる
こういうご新規さんの参加の仕方、PHPを思い出すな
アップルの思惑通りか
0067デフォルトの名無しさん
2014/12/01(月) 12:44:40.56ID:GrWyVyTu雑誌書籍スレがあるのでそっちへ移動してくださいおながいします
0068デフォルトの名無しさん
2014/12/01(月) 18:52:21.08ID:HQ6B4Kccいまごろ1000スレ越えだぜ。バカ新参が。
0069デフォルトの名無しさん
2014/12/01(月) 18:55:58.25ID:g5HVgJVH0070デフォルトの名無しさん
2014/12/01(月) 23:55:04.98ID:tpjG/WEsためにスレ作ってもキリがないというか、迷惑なだけだよな。
0071デフォルトの名無しさん
2014/12/02(火) 00:00:36.38ID:/z1AotGw0072デフォルトの名無しさん
2014/12/03(水) 07:46:18.56ID:SwUJsAPC0073デフォルトの名無しさん
2014/12/03(水) 09:23:20.08ID:5E26ydi///適当なクラスの実装にて
@IBAction func hee (AnyObject)
{
println("へぇー")
}
@IBAction func heeButton (sender:AnyObject)
{
sender.title = "へぇー?"
self.hee(sender)
}
@IBAction func heeButtonTyped (sender:UIButton!)
{
sender.title = "へぇー!"
self.hee(sender)
}
0074デフォルトの名無しさん
2014/12/03(水) 14:12:14.15ID:nkl7s7Gb- (void)applicationDidEnterBackground:(UIApplication *)application
{
void (^handler)(void) = ^{
UIApplication* app = [UIApplication sharedApplication];
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
};
bgTask = [application beginBackgroundTaskWithExpirationHandler:handler];
[application setKeepAliveTimeout:600 handler:^{
if (!bgTask || bgTask == UIBackgroundTaskInvalid) {
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:handler];
}
}];
}
これをSWIFTに書き換えたいのですがうまくいかず。。
0075デフォルトの名無しさん
2014/12/03(水) 15:15:05.99ID:3qBLjzZ50076デフォルトの名無しさん
2014/12/03(水) 15:37:39.42ID:ox8ONGkP0077デフォルトの名無しさん
2014/12/03(水) 16:17:37.15ID:xPpWTJO0何を言っているんだ、お前は
0078デフォルトの名無しさん
2014/12/03(水) 16:42:59.70ID:9H2vkWGi0079デフォルトの名無しさん
2014/12/03(水) 16:47:41.30ID:gjBI+if1で、昔、こう書いてたのをswift的に書くのはどうしたらいいかって話かと
0080デフォルトの名無しさん
2014/12/03(水) 16:50:17.50ID:3qBLjzZ5コピペコードをSwift好きでやっているハズなのに変換できない(ほぼ一対一で定型的ななのに)って。Swift好きなわけでもなくObjective-Cより簡単そう/簡単そうに見えたってだけか...
そもそもそのコピペコードがーっ...以下省略
0081デフォルトの名無しさん
2014/12/03(水) 17:01:42.01ID:3qBLjzZ5var handler = {() -> Void in
var app = UIApplication.sharedApplication()
app.endBackgroundTask(bgTask)
bgTask = UIBackgroundTaskInvalid
}
bgTask = application.beginBackgroundTaskWithExpirationHandler(handler)
application.setKeepAliveTimeout(600, handler: {() -> Void in
if bgTask == 0 || bgTask == UIBackgroundTaskInvalid {
var app = UIApplication.sharedApplication()
bgTask = app.beginBackgroundTaskWithExpirationHandler(handler)
}
})
}
コピペコードの目的がアレ&コピペプログラマーに餌を与えるようでナニ&Swiftはまだあまり好きではないのでもっとSwiftっぽくってのは知らんけど
0082デフォルトの名無しさん
2014/12/03(水) 17:03:14.24ID:4rF0wfjBこれもちょっとアレな感じなので、swiftに慣れてないとワケワカメな類いだろ
0083デフォルトの名無しさん
2014/12/03(水) 17:11:12.33ID:3qBLjzZ5基本中の基本なんじゃないの?基本わかってないのにあんなことしようとするのが無謀かとw
0084デフォルトの名無しさん
2014/12/04(木) 15:08:01.61ID:RsB0Dj/BSwift初心者からの質問にObjective-Cから始めろと答えるのが通例になりつつあるな。
0085デフォルトの名無しさん
2014/12/04(木) 16:39:05.69ID:cJiNTcgJ誰かの努力でなんとかなれ
0086デフォルトの名無しさん
2014/12/04(木) 20:30:37.48ID:YLXASCDJ基本はこうだよ
と言えないのか
0087デフォルトの名無しさん
2014/12/04(木) 23:16:15.38ID:AGcjSnKa俺もObjective-Cを少し齧った程度でSwiftに期待して始めたけど結局NSDataやNSStringなんかが必要でObjective-C必須じゃんって思ったけどやっぱそうなんだなw
まぁ言語なんて帰宅後の2-3時間の勉強で3日あれば覚えるし、あとは実際開発してフレームワーク覚える方が重要だからどっちでもいいけど
0088デフォルトの名無しさん
2014/12/04(木) 23:18:13.16ID:8+yJPy0h0089デフォルトの名無しさん
2014/12/04(木) 23:32:57.73ID:2eix3CFf0090デフォルトの名無しさん
2014/12/05(金) 09:51:34.30ID:d3g9qRgm0091デフォルトの名無しさん
2014/12/05(金) 10:13:08.44ID:/ff10/2j0092デフォルトの名無しさん
2014/12/05(金) 10:35:14.68ID:NyP973bTそれ Objective-C の知識というより Framework の知識だろ
C++ やるのに C 先にやれというのは有りだが
C# やるのに Win32API を覚えろと言ってるくらい変な話
0093デフォルトの名無しさん
2014/12/05(金) 10:55:56.72ID:47g0SrgrXcodeのコード補完が便利過ぎて未だにSwift使ってないけどな・・・。
ぶっちゃけIDEが優秀なら言語はそれほど重要じゃないんだよ。
Java vs PHPの時もそうだったし。
0094デフォルトの名無しさん
2014/12/05(金) 14:29:06.39ID:jZ7BIQsq設計を効率的に反映して実装でバグを生みにくい言語選択はそれはそれで重要
まぁアップルOSでobj-c一択だった言語選択肢が2つになったからといって誤差だわな
0095デフォルトの名無しさん
2014/12/05(金) 16:57:15.42ID:R353Myf50096デフォルトの名無しさん
2014/12/05(金) 17:33:08.25ID:/ff10/2j0097デフォルトの名無しさん
2014/12/05(金) 18:46:51.28ID:R353Myf5道具にこだわらないのはプロ失格
プロスポーツ選手だって道具にこだわるんやで
0098デフォルトの名無しさん
2014/12/05(金) 19:52:35.88ID:/ff10/2jプロ野球でもポジションにあったグラブを使うように。まあたまに拘りのグラブでどこでもの選手もいるが。俺はそれレベルだって?w
そもそも全くその例えは見当違いもいいとこだと思うけど
0099デフォルトの名無しさん
2014/12/05(金) 23:30:55.23ID:R3VeSzb5いま国内大手もほとんどXamarin+C#だし、ゲームもUnity+C#
OSはあれだが少なくとも言語設計のセンスや開発環境にかんしてはMS世界一だろ
0100デフォルトの名無しさん
2014/12/06(土) 00:07:11.56ID:+/vwOA/9他が気になってしょうがないってのはいっていることを裏切っている、または、いっていることが本心ではなということかw
0101デフォルトの名無しさん
2014/12/06(土) 00:14:38.90ID:2HUbxNCP.NETもオープンソースになったし、これからはC#の時代。
Swiftの特徴は、ほとんど既にC#にもあるものだし。
C#さえ使えれば、MacでもWindowsでもLinuxでも通用する。
0103デフォルトの名無しさん
2014/12/06(土) 00:43:20.60ID:+/vwOA/9わざわざこんな別のスレにきてC#,C#って、それしかできないのはわかったから、なんか他の目的があるのかなあ?啓蒙とか?w
0104デフォルトの名無しさん
2014/12/06(土) 02:43:17.82ID:FCtQmfGZ0105デフォルトの名無しさん
2014/12/06(土) 05:26:31.39ID:e7AXH4PI0106デフォルトの名無しさん
2014/12/06(土) 09:04:36.79ID:hXpZW877swift vs type script とか言われてたじゃんよ
0107デフォルトの名無しさん
2014/12/06(土) 13:30:09.98ID:+/vwOA/9C#意外はアウトオブ眼中、てか、否定しなければ自我が保てないとか
フレームワークをどう使うかの方がよっぽどで、言語の差異なんてちょっと馴染めば済む話だと思うんだがなあ。また、それぞれの言語の差異を楽しめばいいのにw
0108デフォルトの名無しさん
2014/12/06(土) 13:31:22.54ID:Fvd5IDeK0109デフォルトの名無しさん
2014/12/06(土) 13:36:27.47ID:Fvd5IDeKちゅうかAndroidアプリをiPhoneみたいに一個のアクティビィティで作るなんて非現実的だと思うが。
Qtとかどうなっているんやろ?
0110デフォルトの名無しさん
2014/12/06(土) 14:21:39.13ID:+/vwOA/90111デフォルトの名無しさん
2014/12/06(土) 15:00:42.88ID:ob3/QUt6今は activity 一つで fragment を多用するんやで
gtkというそこそこ長く使われたGUIライブラリ
(今はGNOME3で盛大にこけて再起不能)
0112デフォルトの名無しさん
2014/12/06(土) 15:44:16.26ID:Fvd5IDeK0113デフォルトの名無しさん
2014/12/06(土) 15:45:32.73ID:7IWME+c90114デフォルトの名無しさん
2014/12/06(土) 15:46:36.58ID:3fRUx13ZC言語の本とかなら近所のブックオフに沢山置いてあるけど要らないよね?
0115デフォルトの名無しさん
2014/12/06(土) 16:59:02.97ID:2HUbxNCPJavaは成功してるだろ
今は猫も杓子もJavaの時代。これはマルチプラットフォーム戦略が成功したから。
Javaの弱点は、コンポーネントがネイティブと違うから違和感丸出しなところ。
C#とXamarinは、ネイティブコンポーネントを生成するから、これすらも克服する。
C#はこれから、Javaを超える。
0116デフォルトの名無しさん
2014/12/06(土) 17:17:23.02ID:rEg6r14Y0117デフォルトの名無しさん
2014/12/06(土) 17:23:39.94ID:KS+oAFGh一周回ってまた流行ったけど、また廃れ始めてるだろ
Java7互換ランタイム少ないっつーか、誰も追従も開発もしねーし
swiftは唯我独尊で追従も開発も不可能なので比較にならんからスレ違い
0118デフォルトの名無しさん
2014/12/06(土) 17:26:34.18ID:rEg6r14Y0119デフォルトの名無しさん
2014/12/06(土) 17:35:38.10ID:KS+oAFGh0120デフォルトの名無しさん
2014/12/06(土) 17:49:00.98ID:69hstd6T0121デフォルトの名無しさん
2014/12/06(土) 18:18:25.87ID:+/vwOA/9成功しているなんて言えないな。まれに見るくらいだろ
でもC#>Javaなのね。で、Swiftにはまったく関心が無いのね。でも居座り見続けるって、なんなんだか
まともな開発者とは思えないwなんらかの私情優先という点で。まあそういう邪魔臭い開発者もいることにはいるけど
0122デフォルトの名無しさん
2014/12/06(土) 20:08:57.50ID:Fvd5IDeK開発ツールぐらいしか出なかった。
0123デフォルトの名無しさん
2014/12/06(土) 20:16:39.26ID:FCtQmfGZ0124デフォルトの名無しさん
2014/12/07(日) 11:47:42.75ID:EfvfTw+eサーバーサイドじゃほとんどJavaだよ
WindowsServer以外じゃC#使いにくかったからな
0125デフォルトの名無しさん
2014/12/07(日) 12:25:17.02ID:owphIsifHTMLがGUIに関わる汎用フレームワークっていうならふーんだが
0126デフォルトの名無しさん
2014/12/07(日) 19:06:37.81ID:sLcRO6zh0127デフォルトの名無しさん
2014/12/07(日) 19:13:20.04ID:owphIsifなんていっていいのか...考えるのが面倒だったので。まあ、そういうことw
0128デフォルトの名無しさん
2014/12/08(月) 06:11:19.52ID:dl4tgOhB0129デフォルトの名無しさん
2014/12/08(月) 06:31:29.25ID:+NczQqkXgenericsがなんだか分からないというなら話は別ですが
0130デフォルトの名無しさん
2014/12/08(月) 18:23:54.85ID:Gr4Uo9Geでやり直し
0131デフォルトの名無しさん
2014/12/08(月) 19:18:23.82ID:KcBGEiTfそれがどの程度利便性(難易度)があるか程度の話だ
0132デフォルトの名無しさん
2014/12/08(月) 20:05:54.70ID:QfTiJ47a利点は明らかでもない
0133デフォルトの名無しさん
2014/12/08(月) 21:59:49.82ID:/ZamXyKM「なにが飛んで来てもオブジェクトが自分が扱えるか扱えないか判断できるだろ?」と
id(万能)型の方がスタート地点だからな…
型がカッチリ決まってないとムダだしバグるだろう!って
ガチガチに決めた側から「やっぱりいろいろできた方が…」って
緩和してってgenerics足してる動きとは真逆ではあるな。
0134デフォルトの名無しさん
2014/12/08(月) 22:08:30.05ID:xXdh6k410135デフォルトの名無しさん
2014/12/08(月) 22:59:18.90ID:2999qdD/0136デフォルトの名無しさん
2014/12/08(月) 23:05:29.10ID:4fpsMANTメタプログラミングとか関数言語的な使い方とかできるの?
0137デフォルトの名無しさん
2014/12/08(月) 23:11:00.22ID:zidzlGpB0138デフォルトの名無しさん
2014/12/08(月) 23:15:51.35ID:NGUYkyOWそれだったらPythonだけでなくRubyよりも優れてるのでは?
0139デフォルトの名無しさん
2014/12/08(月) 23:22:28.11ID:zidzlGpBあと Ruby は詳細知らないけど、Python とかにはない変な機能あるんじゃなかったか。
0140デフォルトの名無しさん
2014/12/08(月) 23:31:55.49ID:NGUYkyOWいまチマチマAppleのSwift本読んでるけど、
1日1ページペースだからなかなか進まない。
0141デフォルトの名無しさん
2014/12/08(月) 23:38:02.28ID:7V/jJNR6Swiftでメタプログラミングは現状ほぼ何もできない
0142デフォルトの名無しさん
2014/12/09(火) 00:17:40.01ID:g6rvcf4Bコレクションが対応してればってことで
Compareは定義しなきゃならないんじゃないの?だったら、まだ>>128は満たされていないよなあ
0143デフォルトの名無しさん
2014/12/09(火) 00:31:03.75ID:/P8WTPb7そこを明確に定義しないと水掛け論にしかならない
0144デフォルトの名無しさん
2014/12/09(火) 07:22:25.29ID:Tld0uzMurubyどころかpythonの概要も知らないんじゃないか
全く参考にできない情報だなw
0145デフォルトの名無しさん
2014/12/09(火) 07:49:13.50ID:uFa5K23O0146デフォルトの名無しさん
2014/12/09(火) 08:02:16.20ID:EVFj7308駄目だこりゃ。
0147デフォルトの名無しさん
2014/12/09(火) 20:41:04.92ID:HTXDh20F話題になるわけないじゃないの…
なに?「スマブラの話なんてゲーセンで聞いたことないな!」的な
主張したい年齢なの?
0148デフォルトの名無しさん
2014/12/09(火) 21:18:17.07ID:FcK3QkPHいまどきクロスプラットフォームじゃない言語なんて流行らないでしょ。
Swiftは最初から、Windows/Unix/Linuxの共通GUIアプリケーション開発言語として開発されるべきだった。
そもそも最大会派のWin32APIに対応していない時点でだめ。POSIX準拠でもないし
iPhoneアプリバブル時代ならいざ知らず、iPhoneもMacも落ち目なのに盛り上がるわけない。
少なくともAndroidとWindowsに対応するくらいのテコ入れはやらないと。
0149デフォルトの名無しさん
2014/12/09(火) 22:15:05.01ID:pfdL5XCR0150デフォルトの名無しさん
2014/12/09(火) 22:49:17.07ID:7jn1Y2FEまず、Swift は(基本的には)静的型付けであるのに対して
Ruby や Python といったスクリプト言語は静的型付けだから、
単純に総合力の優劣は語れない
で個別の事柄について、関数型プログラミングに関してだけど、
ML や Haskell では常識で Swift の特徴の一つだけど
Ruby や Python には存在しないものには、たとえば
(予約されていない)任意の記号をカスタム演算子として定義できる仕組みがある
以下の記事では、関数型言語の F# にあるパイプライン演算子を Swift で実装している
・F#'s Pipe-Forward Operator in Swift | Undefined Value
http://undefinedvalue.com/2014/07/13/fs-pipe-forward-operator-swift
(他にも "swift pipe operator" でググると類似の文書を見つけられる)
0151デフォルトの名無しさん
2014/12/09(火) 23:11:29.72ID:aIM7Q5Dpお前がそう思うんならそうなんだろう、お前ん中ではな
0152デフォルトの名無しさん
2014/12/09(火) 23:16:18.98ID:g6rvcf4B0153デフォルトの名無しさん
2014/12/09(火) 23:33:05.23ID:7jn1Y2FESwift や Ruby を含む多くの言語では常識であるけど Python では異なるものとして、
関数型言語に由来した(無名関数やラムダ式とも呼ばれる)クロージャがある
たとえば "The Swift Programming Language" の "Closure" の章にある map メソッドを使った
サンプルコードは、Ruby でも同じスタイルの良く似たコードで書き直せる:
http://ideone.com/TsGD6B
これは Ruby だけでなく、JavaScript でも同じ
Swift や Ruby と比べて構文が簡潔な JavaScript ではいくらか冗長にはなるけれど、
何の苦もなく Swift と同じスタイルで書き直せる:
http://ideone.com/74oNVU
同様に、「あるテーブルから特定の行だけを抽出し、加工して、集計する処理」は、
Swift だと table.filter { .... }.map { .... }.reduce { .... } とメソッドを連結(チェイン)させた式で書ける
これは Ruby なら table.select { .... }.map { .... }.inject { .... } と書き直せる
ここで、クロージャ内の ..... の部分には、上記のサンプルのように「任意の文(statements)が書ける」
もしかすると、いやこんなの高階関数のプログラミングを知っている人なら当たり前だろ、と感じるかもしれない
ところが Python だけはクロージャの本体に(任意の文ではなく)「式(expression)しか書けない」:
http://ideone.com/tDaDkL # --> Syntax Error になってしまう
だから、他の言語のクロージャに相当するコードを(名前のある)関数としてわざわざ宣言しなければならない:
http://ideone.com/R7twCQ
結果として、Python は手続き型プログラミングであれば簡潔で可読性に優れたコードが書けるスクリプト言語だけれど、
関数型プログラミングには適さず、こうした関数型プログラミングは推奨されていないらしい(これを "酸っぱい葡萄" と言ふ)
http://peace.2ch.net/test/read.cgi/tech/1345123070/70-71
これが Swift や Ruby 等と比較すると、関数型プログラミングで Python が劣る典型的な一例になる
0154デフォルトの名無しさん
2014/12/09(火) 23:45:54.71ID:zysv2pGaID:7jn1Y2FEには出来そうにないので
0155デフォルトの名無しさん
2014/12/09(火) 23:54:39.05ID:7jn1Y2FE# 三行でカキコしてみたけど、いかが? >>154
0156デフォルトの名無しさん
2014/12/09(火) 23:56:41.99ID:aIM7Q5Dp0157デフォルトの名無しさん
2014/12/10(水) 00:05:56.63ID:qsQTvCjW未だに用語の定義がオレオレなの治ってないんだな
0158デフォルトの名無しさん
2014/12/10(水) 00:07:29.11ID:veDvxwgeクロージャの定義は「ラムダ式と局所環境とを組合せた概念」です
詳しくは、以下のスレへのカキコを参照:
・クロージャって何がいいの?
http://peace.2ch.net/test/read.cgi/tech/1415419907/4
もしも >>156 がクロージャ定義うんぬんの議論をご希望でしたら、
ここではスレ違いになるので、レスは上記のスレへカキコしてもらえると
嬉しいです
0159デフォルトの名無しさん
2014/12/10(水) 00:14:01.50ID:/S4VnuPJ0160デフォルトの名無しさん
2014/12/10(水) 00:33:13.12ID:U+9OJfKHどうでもいいならOC使ってりゃいい
■ このスレッドは過去ログ倉庫に格納されています