Swift part2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/06/11(水) 14:42:15.02ID:+13mKJ0ZApple Developer
https://developer.apple.com/swift/
Welcome to Swift
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/
iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
今のところbeta版のXcode 6がSwift対応らしい
https://developer.apple.com/xcode/downloads/
関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
0132デフォルトの名無しさん
2014/06/18(水) 13:24:52.54ID:SO+OzQPt0133デフォルトの名無しさん
2014/06/18(水) 13:25:06.72ID:g+Ah9yuLとりあえず濱田はさっさとこのスレから消えてくれませんかねぇ
0134デフォルトの名無しさん
2014/06/18(水) 13:33:35.17ID:4JJBGbJ70135デフォルトの名無しさん
2014/06/18(水) 14:00:57.39ID:453IuISd海外行ってくれた方がありがたいわ。英語出来ないみたいだから無理だろうけど
0136デフォルトの名無しさん
2014/06/18(水) 14:47:43.17ID:DWPLO9ki翻訳以前の話。 epub は iBooksを盗んできたXHTMLのまま。 それ自体禁止された行為。
そもそもそんなんでまともな翻訳が出来る訳が無い。 だから誰も参加しなかったんだよ。
どんなあほでもせめて HTMLにはするだろ。 HTMLでも編集しづらいけど。
日本人の恥さらしは消えた方が良い。
0137デフォルトの名無しさん
2014/06/18(水) 15:54:33.33ID:4zfTpjTw0138デフォルトの名無しさん
2014/06/19(木) 11:00:11.79ID:BcmtgtjIそれによって被害をこうむったとか株価操作の疑いがあったとか
0139デフォルトの名無しさん
2014/06/19(木) 12:09:32.58ID:hpF6FD1z0140デフォルトの名無しさん
2014/06/19(木) 15:45:47.33ID:0DBpyS/Qhttps://gihyo.jp/dp/ebook/2014/978-4-7741-6609-4
epub本
75ページで600円はボリ過ぎ
内容なさ過ぎみたい。
こっちは本じゃ無いけど、まとまってる。
プログラミング言語Swift日本語チュートリアル ~ 前編(Apple公式ドキュメントSwift Tour±α
http://xavier.hateblo.jp/entry/2014/06/12/223346
[iOS][Mac] Swift を学べる記事のまとめ
http://dev.classmethod.jp/smartphone/iphone/learn-swift/
0141デフォルトの名無しさん
2014/06/19(木) 16:06:23.90ID:QOqR9llH0142デフォルトの名無しさん
2014/06/19(木) 16:34:27.12ID:0DBpyS/Q公式本が良く出来過ぎてるから、下手な解説本はけなされるだろうな。
無いよりはマシかもしれ無いけど。
0143デフォルトの名無しさん
2014/06/19(木) 16:40:25.02ID:QOqR9llH0144デフォルトの名無しさん
2014/06/19(木) 16:41:09.80ID:BcmtgtjI0145デフォルトの名無しさん
2014/06/19(木) 16:58:57.63ID:umgUaSFH0146デフォルトの名無しさん
2014/06/19(木) 19:05:51.88ID:LVCYZZpV型推論ありの静的言語を使ってまともなプログラムを書いたことのあるプログラマーは少ないし
0147デフォルトの名無しさん
2014/06/19(木) 20:06:49.40ID:YGWyXUmeそんな珍しいものでもあるまいし
0148デフォルトの名無しさん
2014/06/19(木) 20:10:12.15ID:LykmxWBZ一部を見て全体を貶めようとするのは、個人的な憂さ晴らしでしかないからマトモに取り合う必要はないだろ
0149デフォルトの名無しさん
2014/06/19(木) 20:17:26.39ID:HRCPZ4Nyまだまだプレリリースだというのに早漏だのう
0150デフォルトの名無しさん
2014/06/19(木) 20:27:06.05ID:EnR6mUtN75ページって、Swift本の詳細を端折って意訳した感じかな
しかも3人の共著
よっぽど急いで出したかったんだね
0151デフォルトの名無しさん
2014/06/19(木) 21:08:53.96ID:kFn3RAhT一番上の本、epubで75Pしかないのに600円とかwwwwwボッタクリもいいところだなw
こういう奴等が善意の翻訳プロジェクトをことごとく潰したりしてる気がするなぁ
この3人の著者は要注意に入れて俺はこいつらの本は絶対に買わないと心に決めた
0152デフォルトの名無しさん
2014/06/19(木) 21:21:15.81ID:hED1WWRp見ていろよ濱田! お前の仇は取ってやる!!
0153デフォルトの名無しさん
2014/06/19(木) 21:24:59.53ID:zIYLi9WT0154デフォルトの名無しさん
2014/06/19(木) 22:14:30.94ID:HRCPZ4NyクラスメソッドはiOS7のときの怒濤の記事数と反比例した内容の薄さにもビックリしたが…
0155デフォルトの名無しさん
2014/06/20(金) 08:40:48.51ID:E70jMkdF安いじゃないか
同人誌としては
0156デフォルトの名無しさん
2014/06/20(金) 10:56:24.96ID:CCZRVeL/いきなり擬人化から入る日本人としては、解説本より先に夏には萌え本が出ると思います!
0157デフォルトの名無しさん
2014/06/20(金) 11:31:01.87ID:IQz8StZM0158デフォルトの名無しさん
2014/06/20(金) 11:50:20.92ID:rYyNUA8p0159デフォルトの名無しさん
2014/06/20(金) 12:57:23.02ID:NyETg04V0160デフォルトの名無しさん
2014/06/20(金) 12:58:49.77ID:0PgNV7xOなりませんよ
0161デフォルトの名無しさん
2014/06/20(金) 13:35:27.40ID:ltBAGUPz0162デフォルトの名無しさん
2014/06/20(金) 13:48:19.15ID:13YA0ieC0163デフォルトの名無しさん
2014/06/20(金) 16:30:17.45ID:a0oeUuGM0164デフォルトの名無しさん
2014/06/20(金) 17:07:22.05ID:PmYa9Irn濱田とかいうのが叩かれてるのは2chコピペのアフィリエイトが叩かれてるのと同じ感じがする
0165デフォルトの名無しさん
2014/06/20(金) 17:10:31.82ID:3e7ZxbC30166デフォルトの名無しさん
2014/06/20(金) 17:11:39.48ID:kEPVLal9Githubは、iBooksのコピペ。 訳は一切なし、翻訳結果の所有権は自分に有る主張。
Webの方は、広告だけで一切自分の書いた物なし。
0167デフォルトの名無しさん
2014/06/20(金) 17:13:10.40ID:PmYa9Irn0168デフォルトの名無しさん
2014/06/20(金) 17:14:45.81ID:CCZRVeL/むしろ面倒だろSWIFT……というか海外送金自体が面倒だし……
0169デフォルトの名無しさん
2014/06/20(金) 17:16:51.10ID:vduwxYH8必死だなw
0170デフォルトの名無しさん
2014/06/20(金) 17:50:47.25ID:JctBwY7Hよう濱田
0171デフォルトの名無しさん
2014/06/20(金) 19:53:31.53ID:lZjD2ymP褒める==>ageうぜえ
貶す==>炎上ステマうぜえ
マスゴミ脳だね。
0172デフォルトの名無しさん
2014/06/20(金) 20:34:28.42ID:rYyNUA8p> 翻訳結果の所有権は自分に有る主張。
マジかよw
むしろこういう奴が舵を取ろうとした事が有志の日本語翻訳コミュニティの形成を阻害させたな
0173デフォルトの名無しさん
2014/06/20(金) 20:38:23.94ID:fiYVjyLmすべて偽造というか架空の人物設定なんだよな?
実名だとしたら、自分なら恥ずかしくて生きていけんわ(w
0174デフォルトの名無しさん
2014/06/20(金) 20:44:08.81ID:kEPVLal9//------------ C# (空白は全角を使っている)
class Program
{
static void Main(string[] args)
{
var list = new List<Tuple<int, string>>();
list.Add(Tuple.Create(31, "Jan"));
list.Add(Tuple.Create(28, "Feb"));
list.Add(Tuple.Create(31, "Mar"));
list.Add(Tuple.Create(30, "Apr"));
list.Add(Tuple.Create(31, "May"));
list.Sort((Tuple<int, string> t1, Tuple<int, string> t2) => (t2.Item1 - t1.Item1));
foreach (var t in list)
{
Console.WriteLine("{0} {1}", t.Item1, t.Item2);
}
}
}
//--------- Swift
let lists:(days: Int , month: String)[] = [ (31, "Jan") , (28, "Feb") , (31, "Mar") , (30, "Apr") , (31, "May") ]
sort ( lists , { $0.days < $1.days } )
println( lists )
/* ---------- このSwiftの sort 部分は、次のようにも書ける
sort ( lists , { ( t1, t2 ) -> Bool in t1.days < t2.days } ) // 或は
sort ( lists , { t1, t2 in t1.days < t2.days } )
*/
0175デフォルトの名無しさん
2014/06/20(金) 20:47:10.84ID:DSYIvwNiゆうちゃんの売名意欲はんぱない
0176デフォルトの名無しさん
2014/06/20(金) 20:51:35.67ID:CCZRVeL/30分経たずに取り消されててワロタw
0177デフォルトの名無しさん
2014/06/20(金) 21:07:33.19ID:IQz8StZM右上の業績欄で吹くww
0178デフォルトの名無しさん
2014/06/20(金) 21:19:13.04ID:M/JwZqVIC#はこう書ける
var list = new{new{days=31,month="Jan},new{days=28,month="Feb"},new{days=31,month="Mar"},new{days=30,month="May"},new{days=31,month="May"}};
foreach (var t in list.OrderBy(x => x.days))
Console.WriteLine(t);
あるいはこんなことも
var dic = new Dictionary<int, String> {{31,"Jan"},略,{31,"May"}};
foreach (var t in
from t in dic
orderby t.Key
select new { days=t.Key, month=t.Value })
Console.WriteLine(t);
0179デフォルトの名無しさん
2014/06/20(金) 21:27:54.81ID:CCZRVeL/Swift-jpアカウントで追加したリンクが消されててワロタ
0180デフォルトの名無しさん
2014/06/20(金) 22:46:31.47ID:0PgNV7xOWikipediaって、誰でも自己紹介書いていいのか?
0181デフォルトの名無しさん
2014/06/20(金) 22:48:16.71ID:DSYIvwNi0182デフォルトの名無しさん
2014/06/20(金) 22:56:33.10ID:4Z5Rc51bhttp://ja.wikipedia.org/wiki/Wikipedia:%E8%87%AA%E5%88%86%E8%87%AA%E8%BA%AB%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E3%81%A4%E3%81%8F%E3%82%89%E3%81%AA%E3%81%84
0183デフォルトの名無しさん
2014/06/20(金) 23:33:58.00ID:kEPVLal90184デフォルトの名無しさん
2014/06/21(土) 00:25:46.40ID:+flxE0eCSwift言語の簡易リファレンスを纏めたチートシートcdn2.raywenderlich.com/wp-content/upl…
2014年6月04日 - 3:38pm
0185デフォルトの名無しさん
2014/06/21(土) 00:40:00.78ID:kku3Zr/20186デフォルトの名無しさん
2014/06/21(土) 01:24:05.68ID:jGMnyNE3内輪だけど
0187デフォルトの名無しさん
2014/06/21(土) 01:30:26.51ID:JBSU6pk50188デフォルトの名無しさん
2014/06/21(土) 01:35:52.89ID:5/17O7zjhttps://twitter.com/madogai
0189デフォルトの名無しさん
2014/06/21(土) 04:53:39.17ID:qifWmRUG0190デフォルトの名無しさん
2014/06/21(土) 05:59:44.67ID:qifWmRUGstruct Point {
var x = 0.0, y = 0.0
mutating func moveByX(deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)
でもこれなら個人的には
func moveByX(x: Double, y: Double) {
self.x += x
self.y += y
}
って書く方がすっきりしてる様に思いました。好みですかね?
0191デフォルトの名無しさん
2014/06/21(土) 07:06:22.95ID:Gm5EhJPM例 func 探す( 文字列: String , 文字: character )
と解りやすく書いておいたつもりでも、呼び出し元が
探す( a , b )
探す( "abcdefg" , "c" )
では意味が解りにくい。
func 探す( 元文字列 文字列: String , 探索文字 文字: character )
或いは
func 探す( #元文字列: String , #探索文字: character )
としておけば
呼び出しは解りやすくなる。
探す( 元文字列: a , 探索文字: b )
探す( 元文字列: "abcdefg" , 探索文字: "c" )
0192デフォルトの名無しさん
2014/06/21(土) 07:23:30.52ID:Gm5EhJPM上の例は、Objective-C の書き方でexternal nameをつけてる例。
swift 流に上の例を書き直すと、
finc moveBy( x deltaX: Double , y deltaY: Double )
moveBy( x: 2.0 , y: 3.0 )
2番目は、たまたま外側の名前の、x , yをパラメータに使ってるが、ローカル名で却って解りにくくなる。
2番目を呼出すと、
moveByX( 2.0 , 3.0 )
数字の意味が解らなくなる。
0193デフォルトの名無しさん
2014/06/21(土) 08:52:29.04ID:eLk4E9G5http://www.atmarkit.co.jp/ait/articles/1406/19/news012_2.html
個人的にも一番感心したのは、やっぱり新言語Swiftの発表でした。
ここ数年Mac、iOS系の開発から遠ざかっていて、最新のObjective-C文法などにも疎くなっていたので、
そろそろ勉強し直さないといけないなぁと本気で危機感を感じていたところに、
Appleからリセットボタンを押された気分です(笑)。
あらためてiOSアプリを開発したいなと肩を押された気がしているデベロッパーは
僕だけではないと思います。
興味深いのは、通常、Swiftのような新言語が発表されると、
従来の言語に慣れ親しんだユーザーからは賛否両論の議論が湧き上がるのですが、
今回のSwiftに関しては、かなりポジティブな意見が目立つように見えます。
こうした反応を見ていても、Swiftがいかに今時の言語をよく研究して、
良い所取りをして開発されたのかが見える気がします。
0194デフォルトの名無しさん
2014/06/21(土) 08:56:03.29ID:6ZbZYmYu★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi
※ 要タイトル検索
※ 2chブラウザ併用推奨
0195デフォルトの名無しさん
2014/06/21(土) 21:00:36.35ID:qifWmRUGこう書けたら分かりやすかったのにと思います。
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x: Double, y: Double) {
self.x += x
self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)
実際は以下のようにxの方だけ#を付けないとエラーが出てしまいます。
func moveBy(#x: Double, y: Double)
1つ目の引数だけ扱いが違うのがちょっとややこしいです。
もしくは例に挙げてもらったこれ
func moveBy(x deltaX: Double ,y deltaY: Double)
手間は少し増えるけどミスは減りそうです。
0196デフォルトの名無しさん
2014/06/21(土) 21:01:54.05ID:tQVBpUxDガラパゴス言語4ね
0197デフォルトの名無しさん
2014/06/21(土) 21:03:55.24ID:qifWmRUG0198デフォルトの名無しさん
2014/06/22(日) 01:33:00.56ID:pfgiPEoY一般記法と混同しないように、第2パラメータには外部パラメータ名を付けるように書くのが良いみたいです。
そして第1パラメータ名を関数名の最後につけるのが流儀のようですね。 Objective-Cに合わせたのでしょうが美しくないですね。
struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(x: Double, y y: Double) {
self.x += x
self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)
0199デフォルトの名無しさん
2014/06/22(日) 01:57:21.67ID:CiHQU1Qw0200デフォルトの名無しさん
2014/06/22(日) 02:07:55.97ID:m6loeTNZvar x = 0.0, y = 0.0
mutating func moveBy(x: Double, y y: Double) {
self.x += x
self.y += y
}
0201デフォルトの名無しさん
2014/06/22(日) 14:02:15.67ID:JSmk+G44互換性のあるとこだけで書けば、
goとソース互換なんじゃね?
0202デフォルトの名無しさん
2014/06/22(日) 14:06:38.79ID:LFHoiLVx微妙に違ってる
0203デフォルトの名無しさん
2014/06/22(日) 14:17:51.27ID:65iLGPB8解ってるよ。
その微妙な違いさえ回避できれば互換性を保てるってことよ。
0204デフォルトの名無しさん
2014/06/22(日) 14:38:25.92ID:65iLGPB8こういう事かえ?
/* Swift */
point.moveBy( X: 1, Y: 2 )
/* Objective-C */
[ point moveByX: 1 Y: 2 ];
"Smalltalk"
point moveByX: 1 Y:2.
0205デフォルトの名無しさん
2014/06/22(日) 15:10:04.67ID:wFLrKJry型の指定の仕方の時点で違うから回避できないだろ
0206デフォルトの名無しさん
2014/06/22(日) 15:23:29.20ID:2jURMw15type string String
func Tag( name String ) String {
var tag String = "<" + name + "/>"
return tag
}
// Swift
func Tag( name :String ) -> String {
var tag :String = "<" + name + "/>"
return tag
}
0207デフォルトの名無しさん
2014/06/22(日) 15:42:53.56ID:0vkagaTcベータだしまだ仕様変えられるだろ
いちいちシフト打鍵が必要でタイプ数も増えるしいいこと無い
0208デフォルトの名無しさん
2014/06/22(日) 15:44:40.34ID:iuL+D4vh0209デフォルトの名無しさん
2014/06/22(日) 15:52:08.83ID:CVWWoFqE0210デフォルトの名無しさん
2014/06/22(日) 15:57:25.29ID:NV1BDSQb0211デフォルトの名無しさん
2014/06/22(日) 16:06:46.64ID:rW+mKnZ00212デフォルトの名無しさん
2014/06/22(日) 16:22:09.18ID:MNXrUkEoauto Tag( const std::string name ) -> std::string
{
std::string tag = "<" + name + ">";
return tag;
}
戻り値を型を省略出来るようにした言語の宿命なんだろ。
0213デフォルトの名無しさん
2014/06/22(日) 16:31:13.55ID:tNIRX/kGfunction := func() {};
// swift
var function = func() {};
// C++
auto function = [](){};
0214デフォルトの名無しさん
2014/06/22(日) 16:55:19.24ID:M4OuaEw5「文字列を引数にとって文字列を戻す関数」を引数にとって「文字列を引数にとって文字列を戻す関数」を戻す関数
なんていうのを記述しようとしたときのわかり易さに大きく影響すると思われ
0215デフォルトの名無しさん
2014/06/22(日) 17:15:55.50ID:LtMDfcfl他の宣言も型が後ろに来るのは、無名関数に合わせてるだけ。
0216デフォルトの名無しさん
2014/06/22(日) 17:38:44.43ID:mgZTcG6HHTML 中に PHP と javascript 埋め込むくらいの気持ち悪さを感じる
0217デフォルトの名無しさん
2014/06/22(日) 17:45:50.87ID:iuL+D4vh0218デフォルトの名無しさん
2014/06/23(月) 10:19:24.43ID:v8LgD0QEやるべきじゃないのかも知れないけど、Qiotaで誰かが書いてたみたいに
例えばゲッタを呼び出すたびにインクリメントされるプロパティとか書けない。
別途インスタンス変数を用意してcomputational propertyとして定義するとか、筋の悪い書き方になる。
そうやったとしてもアクセス指定子もないから元のプロパティに直接アクセスできちゃうし。
どうしてこんなことになったんだ
0219デフォルトの名無しさん
2014/06/23(月) 10:36:40.08ID:k0C4cCblhttp://qiita.com/Lewuathe/items/63801688817c38614cf4
0220デフォルトの名無しさん
2014/06/23(月) 10:59:07.21ID:IjFKX6YY_付きで宣言したら自動的にprivateになればいいなぁ
0221デフォルトの名無しさん
2014/06/23(月) 11:45:05.55ID:knxG2Zrc0222デフォルトの名無しさん
2014/06/23(月) 12:40:13.55ID:2Cm/+3gIそれってObjective-Cでもやってる事はcomputed propertyでしょ。auto synthesizeが効いてて自分で_hogeを宣言する必要がないだけで実質同じじゃない?
0223デフォルトの名無しさん
2014/06/23(月) 12:42:50.21ID:2Cm/+3gI0224デフォルトの名無しさん
2014/06/23(月) 12:53:19.14ID:knxG2Zrcfunc makeCounter() -> () -> Int {
var count = 0;
return {
++count
}
}
let c = makeCounter();
println(c()) // 1
println(c()) // 2
println(c()) // 3
0225デフォルトの名無しさん
2014/06/23(月) 12:59:36.86ID:zCax8W1Q0226デフォルトの名無しさん
2014/06/23(月) 13:25:30.45ID:rcMzefHm0227デフォルトの名無しさん
2014/06/23(月) 13:28:49.27ID:zETqdp8T0228デフォルトの名無しさん
2014/06/23(月) 13:59:22.51ID:k0C4cCbl0229デフォルトの名無しさん
2014/06/23(月) 14:11:58.69ID:IjFKX6YYhttp://swift-lang.org/main/
0230デフォルトの名無しさん
2014/06/23(月) 16:08:46.48ID:k0C4cCbl• Access control (public/private members) is not enabled in this seed.
• It is not possible to build static libraries which contain Swift code in this release.
0231デフォルトの名無しさん
2014/06/23(月) 16:33:17.77ID:v8LgD0QEてかそれだよ、俺が見たのは
>>222
1つのことやるのに2つプロパティを作るのが気持ち悪い
名前も別々につけなきゃいけないし
0232デフォルトの名無しさん
2014/06/23(月) 16:37:33.87ID:knxG2Zrc■ このスレッドは過去ログ倉庫に格納されています