Swiftスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/06/03(火) 04:12:21.08ID:rEEU5ykvhttps://developer.apple.com/swift/
0092デフォルトの名無しさん
2014/06/03(火) 13:30:54.21ID:RuKqYDTEhttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/index.html#//apple_ref/doc/uid/TP40014216-CH2-XID_0
0093デフォルトの名無しさん
2014/06/03(火) 13:32:25.88ID:Vd9fiKAuそれ普通のC言語のヘッダファイルじゃないからw
Objective-CはC言語じゃないんだよ。
C言語の範疇から外れたものしか扱えないって
言ってるようなもんじゃんかw
0094デフォルトの名無しさん
2014/06/03(火) 13:32:40.27ID:XlUvQuDjなるほど、んじゃプロジェクトの特定のクラスだけObjCにするようなことは容易にできるわけだ
0095デフォルトの名無しさん
2014/06/03(火) 13:35:51.48ID:2DJZsrYRObjective-C用のヘッダファイルというものがあるわけか。
http://www.atmarkit.co.jp/ait/articles/1404/09/news029.html
>
> クラスの宣言
>
> クラスを作成するには、このクラスがどんなクラスなのかを宣言する必要があります。
> クラスの宣言はヘッダーファイル(.h)に書きます。そして、
> クラスを宣言するには@interfaceと@endを使用して以下のように書きます。
> クラスやクラスに定義されるメソッドの実装は実装ファイル(.m)に記述します。
> クラスを実装するには@implementationと@endを使用して以下のように書きます。
>
> @implementation クラス名
> @end
> @implementationと@endの間にクラスを実装していきます。従って、Personクラスでは以下のように記述します。
>
> @implementation Person
> @end
> また、実装ファイルには対応するヘッダーファイルを#importで読み込む必要があります。
> 以下のようにして、Person.hをインポートするようにしましょう。
>
> #import "Person.h"
> @implementation Person
> @end
0096デフォルトの名無しさん
2014/06/03(火) 13:36:04.76ID:RuKqYDTE0097デフォルトの名無しさん
2014/06/03(火) 13:36:46.70ID:JVBQ3X9Gthrow try catchがなくて??ってなってる
0098デフォルトの名無しさん
2014/06/03(火) 13:37:22.18ID:Nh2RM5Lo> なるほど、んじゃプロジェクトの特定のクラスだけObjCにするようなことは容易にできるわけだ
できない。
というかそもそも、C言語にクラスというものが存在しない。
0099デフォルトの名無しさん
2014/06/03(火) 13:37:49.46ID:6F7AkFO6ある程度の安全性を考えたら、直よりもJNIみたいな方がいいと思うが。
0100デフォルトの名無しさん
2014/06/03(火) 13:39:10.62ID:Nh2RM5Lo> Obj-CはCの仕様を完全に含んでるよ
で、Swiftで扱えるのは、C+αのα部分だけなんだろう?
それC言語の部分は扱えませんとw
0101デフォルトの名無しさん
2014/06/03(火) 13:40:00.04ID:XlUvQuDjObjCと書いたのだが、何故Cが出てくる?
0102デフォルトの名無しさん
2014/06/03(火) 13:41:30.08ID:Nh2RM5Loさっきから、SwiftでC言語ライブラリをそのまま呼べるか
(もちろんObjective-Cコード無しで)
という話をしているから。
0103デフォルトの名無しさん
2014/06/03(火) 13:42:54.08ID:XlUvQuDjこれ見ると制限付きではあるがCの関数も呼べそうな雰囲気があるが
Cの引数型がSwiftで定義されてて、それを与えた関数はCの関数を呼んでるとみなし
Cのcalling conventionで静的リンクされるんじゃないの?
0104デフォルトの名無しさん
2014/06/03(火) 13:44:33.07ID:XlUvQuDjいやいや、誰もCでObjCのクラスが書けるなんて言ってないが
0105デフォルトの名無しさん
2014/06/03(火) 13:45:27.17ID:Nh2RM5LoC言語の関数をそのまま呼べるんだよ。
Public Declare Function GetUserNameA Lib "advapi32" (ByVal buf as string, size as long) As Long
Public Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal buf as string, size as long) As Long
0106デフォルトの名無しさん
2014/06/03(火) 13:46:29.73ID:Nh2RM5Lo俺もそんな話してないが?
SwiftからC言語の関数をラッパー無しで
そのまま呼ぶことは出来ないって話しかしてない。
0107デフォルトの名無しさん
2014/06/03(火) 13:48:57.11ID:9AiAEfmm0108デフォルトの名無しさん
2014/06/03(火) 13:49:36.62ID:XlUvQuDjんじゃ98は何なんだよ...
特定のクラスをObjCで実装すれば、そのクラスでCの関数を呼べる
そのクラスはSwiftで使える
という話じゃないの?
0109デフォルトの名無しさん
2014/06/03(火) 14:12:29.29ID:9Ltabfc6C系のコンパイラにはClangを使ってると思った。
LLVM Compiler Overview
https://developer.apple.com/library/prerelease/ios/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/
In Xcode, the LLVM compiler uses the Clang front end (a C-based languages project on LLVM.org) to parse source code and turn it into an interim format.
0110デフォルトの名無しさん
2014/06/03(火) 14:31:47.48ID:6yhmnutt0111デフォルトの名無しさん
2014/06/03(火) 14:49:23.83ID:M9d0+DYH実行環境側に適切なバージョンのライブラリを配置する必要がある
0112デフォルトの名無しさん
2014/06/03(火) 14:53:58.14ID:XlUvQuDjそうでないものは@objcを付けるとObjC互換
単にマングリングの問題なのか、ブリッジが入ってオーバーヘッドが生じるのか...
0113デフォルトの名無しさん
2014/06/03(火) 14:55:22.49ID:/aqJorFA信者がTwitterで絶賛してて気持ち悪い
LinuxとWIndowsで開発できない言語なんてロクでもない
ただの信者向け言語
0114デフォルトの名無しさん
2014/06/03(火) 15:11:23.41ID:9Ltabfc6中身は同じLVMMだからVSもEclipseプラグインも似たような物。
Swiftはインタラクティブなデバッグ環境を用意しているためにプリプロセッサを使っていないため多少敷居が高いだろうがプリプロセッサを通したコンパイラなら簡単に出来るだろ。
近いうちにオープンソース化されるよ。
0115デフォルトの名無しさん
2014/06/03(火) 15:34:29.27ID:AkPA7OdE0116デフォルトの名無しさん
2014/06/03(火) 16:32:51.94ID:xS1agrJxダサいっつうか、普通って感じだな。
obj-cから解放されるだけで大歓迎だが。
0117デフォルトの名無しさん
2014/06/03(火) 16:35:20.87ID:/aqJorFA0118デフォルトの名無しさん
2014/06/03(火) 16:38:05.79ID:xS1agrJxでもobj-cの難点はあの文法だから、そういう側面ではJavaScriptに似てると思われても仕方がないと思う。
0119デフォルトの名無しさん
2014/06/03(火) 16:38:06.66ID:sk2oOubrコレだから Twitter 民は
0120デフォルトの名無しさん
2014/06/03(火) 17:52:53.68ID:d3S2ffsw触りたいけどMacが修理中だお…
0121デフォルトの名無しさん
2014/06/03(火) 17:55:34.76ID:7VCuqd/GCの関数は直接呼べるようだ
というかそもそもSwiftの(クラスメソッドじゃない)funcは
引数に名前付けない限りはCの関数と同じ名前空間、呼び出し規則でバイナリに落とされるのかな?
0122デフォルトの名無しさん
2014/06/03(火) 18:08:07.36ID:2BJr+HwU0123デフォルトの名無しさん
2014/06/03(火) 19:08:14.72ID:+L5eE3yS0124デフォルトの名無しさん
2014/06/03(火) 19:12:17.00ID:7VCuqd/G0125デフォルトの名無しさん
2014/06/03(火) 19:15:09.53ID:t1I4ETzW.NET案件の多いWindowsの業務アプリ系の開発者はかなり嬉しいんじゃないの
TypeScriptをM$の技術者が作っただけあってそれをパクってるSwiftは.NETやってれば手癖で書けるから楽だわwww
0126デフォルトの名無しさん
2014/06/03(火) 19:20:17.45ID:xS1agrJx大体あってると思う。
Cの拡張版だからというか、拡張部分のツギハギ文法が嫌われてる理由だと思うけど。
0127デフォルトの名無しさん
2014/06/03(火) 19:23:28.64ID:xS1agrJx0128デフォルトの名無しさん
2014/06/03(火) 19:27:43.38ID:lYocvdBa0129デフォルトの名無しさん
2014/06/03(火) 19:29:50.57ID:E7KMzTZf正直、Titanium Mobileは食指が伸びなかったので期待してるんだが
0130デフォルトの名無しさん
2014/06/03(火) 19:35:55.05ID:sk2oOubr普通にC標準ライブラリも呼び出せるな。fopen とか
俺module はどうやって作るんだこれ
0131デフォルトの名無しさん
2014/06/03(火) 19:40:30.12ID:GrNLWq+f0132デフォルトの名無しさん
2014/06/03(火) 19:42:03.11ID:qHlXCI8o0133デフォルトの名無しさん
2014/06/03(火) 19:49:00.11ID:E7KMzTZfon error goto や on error resume nextが使えるようになったらいいな
0134デフォルトの名無しさん
2014/06/03(火) 19:54:35.79ID:SsmCsZ51Windows か FreeBSD ならなんとか
0135デフォルトの名無しさん
2014/06/03(火) 19:58:36.38ID:thu5Bo8Uobj-c = 沖縄方言
javascript = 関西弁(大阪)
swift = 関西弁(京都)
0136デフォルトの名無しさん
2014/06/03(火) 20:07:08.58ID:9Ltabfc6今俺がこうしてる。
その上でデベロッパ登録すれば直ぐにダウンロードして使える。
0137デフォルトの名無しさん
2014/06/03(火) 20:19:05.04ID:t1I4ETzWAppleの開発環境はMac持ってないやつには公開・提供されないんだよ
クソ犬やクソドザは負けを認めてMac買え
0138デフォルトの名無しさん
2014/06/03(火) 20:43:00.95ID:W3xt/cSkC++とかJavaライクなものなら嬉しかったのに
0139デフォルトの名無しさん
2014/06/03(火) 20:52:20.93ID:Y/pEIVnr0140デフォルトの名無しさん
2014/06/03(火) 20:56:57.99ID:9AiAEfmmどのへんがC++やJavaと違ってJavaScriptに見えた?
0141デフォルトの名無しさん
2014/06/03(火) 21:02:30.24ID:kzI/DT6H0142デフォルトの名無しさん
2014/06/03(火) 21:03:23.90ID:LbUp5C5M取り敢えずMac miniでも買え。
飽きたらMac miniにWindowsやFreeBSDを突っ込めばO.K.
0143デフォルトの名無しさん
2014/06/03(火) 21:10:51.16ID:5DO4L7dm0144デフォルトの名無しさん
2014/06/03(火) 21:13:14.39ID:F1SxNhy20145デフォルトの名無しさん
2014/06/03(火) 21:13:49.53ID:9AiAEfmmSwiftは基本セミコロンいらないよ?いま上がってるサンプルとかにもほとんどセミコロンは無い
(一行に複数の文書きたいときだけ使うらしい)
JavaScriptはセミコロン省略できるとこもあるけど、文末にセミコロン欲しいしなるべく省略しないように書く
変数宣言構文はJavaScriptの拡張とかで使われてる形式で、
現在のJavaScriptでよく使う形式とはちょっと違うと思うんだが
0146デフォルトの名無しさん
2014/06/03(火) 21:20:57.57ID:LbUp5C5MMacの中古相場は旧OSを欲しがる需要が高く、値崩れし難いのでかなり高い。
新品を買って、要らなくなったら売っても、買値からあまり落ちずに高く売れるので新品買った方が良い。
場合によっては型落ち中古が現行機よりも高い事もあったりするので、投機目的ついでに買っちゃえ。
0147デフォルトの名無しさん
2014/06/03(火) 21:22:13.68ID:Y/pEIVnr0148デフォルトの名無しさん
2014/06/03(火) 21:27:55.61ID:qHlXCI8oMacにはWindowsいれられるのに
WindowsにはMac入れちゃいけないキチガイな企業のOSとか言語なんて滅びちゃえよ!
0149デフォルトの名無しさん
2014/06/03(火) 21:28:06.80ID:kzI/DT6Hんなことは知ってるから国語の教科書でも読んでろ
0150デフォルトの名無しさん
2014/06/03(火) 21:29:33.63ID:M9d0+DYH0151デフォルトの名無しさん
2014/06/03(火) 21:34:06.35ID:9AiAEfmm>>141はSwiftの変数宣言の構文とかセミコロンの扱いがJavaScriptと似てるって言いたいんじゃないの?
それに対してかなり違うよっていう俺の意見なんだが?
0152デフォルトの名無しさん
2014/06/03(火) 21:37:46.29ID:lI9Ae8oAどっちかって言うとTypeScriptに似てるよね。
0153デフォルトの名無しさん
2014/06/03(火) 21:46:19.90ID:D/9V5d8o0154デフォルトの名無しさん
2014/06/03(火) 21:47:13.03ID:kzI/DT6H「C++やJavaと違って」
0155,,・´∀`・,,)っ-○○○
2014/06/03(火) 21:48:55.94ID:h45MFUqG0156デフォルトの名無しさん
2014/06/03(火) 21:51:54.07ID:pg5ki0wv0157デフォルトの名無しさん
2014/06/03(火) 21:52:13.73ID:9Ltabfc60158デフォルトの名無しさん
2014/06/03(火) 21:55:37.09ID:hO8OPW7Z0159デフォルトの名無しさん
2014/06/03(火) 21:58:16.37ID:9AiAEfmmコンパイラだけきても、WindowsでCocoa API呼べてもしょうがないし、
WindowsのAPIが呼べるようにするのは簡単ではないだろう
0160デフォルトの名無しさん
2014/06/03(火) 21:58:53.82ID:9AiAEfmmセミコロンの扱いに関しては、C++やJavaは、ほぼJavaScriptと同じ。SwiftはC++やJavaやJavaScriptとは異なる。
だから、Swiftのセミコロンの扱いが、C++やJavaと違って、JavaScriptに見えるのはおかしい。
変数宣言構文に関しては、C++やJavaとは違うし、JavaScriptとも違う。
だから、Swiftの変数構文がC++やJavaとは違うのはいいとして、JavaScriptに見えるのはおかしい。
0161デフォルトの名無しさん
2014/06/03(火) 22:01:17.28ID:rRxa4+Jqhttp://www.goo-net.com/carphoto/10551014_200910.jpg
0162デフォルトの名無しさん
2014/06/03(火) 22:08:09.98ID:pg5ki0wv0163デフォルトの名無しさん
2014/06/03(火) 22:10:02.93ID:0x6aWx6Rttp://d.hatena.ne.jp/matarillo/20140603/p1
0164,,・´∀`・,,)っ-○○○
2014/06/03(火) 22:15:03.10ID:h45MFUqG改行が文の区切りとみなされるようだ。
ということはバックスラッシュで行連結とかもあるのかな。
ifやfor文で括弧使わないところとかprintlnの文字列組み立てとかもRubyっぽくて素敵
0165デフォルトの名無しさん
2014/06/03(火) 22:15:38.30ID:Q95pPloD自作自演の売名乙
0166デフォルトの名無しさん
2014/06/03(火) 22:17:49.49ID:9Ltabfc6http://upload.wikimedia.org/wikipedia/commons/d/dd/Apus_apus_01.jpg
0167デフォルトの名無しさん
2014/06/03(火) 22:20:13.02ID:WDX0jN2+0168デフォルトの名無しさん
2014/06/03(火) 22:25:51.60ID:pg5ki0wv納期はいつなのか?
0169デフォルトの名無しさん
2014/06/03(火) 22:26:13.34ID:9Ltabfc6急ぎでやるなら別だが。 完成が秋以降の予定ならSwift
0170,,・´∀`・,,)っ-○○○
2014/06/03(火) 22:26:21.75ID:h45MFUqG0171デフォルトの名無しさん
2014/06/03(火) 22:27:10.18ID:WDX0jN2+0172デフォルトの名無しさん
2014/06/03(火) 22:27:53.60ID:d9BmVsD90173デフォルトの名無しさん
2014/06/03(火) 22:29:06.38ID:pg5ki0wv残念だったな
0174デフォルトの名無しさん
2014/06/03(火) 22:31:06.89ID:kzI/DT6Hへー
0175デフォルトの名無しさん
2014/06/03(火) 22:38:05.27ID:WDX0jN2+だそうだから、Swiftで書こうかな。
0176デフォルトの名無しさん
2014/06/03(火) 22:38:35.11ID:9Ltabfc6>>171 微妙なところだが、納期が決まってたら冒険出来ないね。
0177デフォルトの名無しさん
2014/06/03(火) 22:44:42.15ID:WDX0jN2+0178デフォルトの名無しさん
2014/06/03(火) 22:47:41.12ID:Fqc6zuT2昔、Cのパーサーについて書かれた文章に、何となくそんな感じのことが書いてあったような気がするんだが。
0179デフォルトの名無しさん
2014/06/03(火) 22:48:31.36ID:h+Sf66BKhttp://blog.livedoor.jp/dankogai/archives/51922323.html
0180デフォルトの名無しさん
2014/06/03(火) 22:58:24.37ID:lI9Ae8oA省略可能だから。
int i ・・・ intを省略できない。
var i: int・・・intを省略したらvar i
型ありでありながら、型の記述を省略できるようにすると
必然的にこうなってしまう。
まあ、var<int> i みたいな書き方も考えられるけどね。
そこはJavaScriptみたいな言語でのvar iという書き方を
ふまえたからそうなったのだろう。
0181デフォルトの名無しさん
2014/06/03(火) 23:16:05.25ID:JVBQ3X9Gマシン語が透けて見える
0182デフォルトの名無しさん
2014/06/03(火) 23:16:48.39ID:5GNqzpIYvar 変数名 : データ型名;
var 変数名1, 変数名2, ・・・ ,変数名n : データ型名;
0183デフォルトの名無しさん
2014/06/03(火) 23:23:22.22ID:OIzVF/VN0184デフォルトの名無しさん
2014/06/03(火) 23:30:09.34ID:OsTKsrgO結局C言語で書くわけだから、特に何も変わらないだろう
0185デフォルトの名無しさん
2014/06/03(火) 23:31:00.44ID:9AiAEfmm0186デフォルトの名無しさん
2014/06/03(火) 23:39:29.36ID:LbUp5C5M出たばっかでまだ不明な事が多いのに、イキナリ本番ぶつけるなんてチャレンジャーだな。
0187デフォルトの名無しさん
2014/06/03(火) 23:42:28.57ID:nZtxpwF+0188デフォルトの名無しさん
2014/06/03(火) 23:54:24.32ID:lYocvdBa静的型付けの関数型言語って、ほぼ全て後者だと思うけど
前者の例って何かあるかな?
0189,,・´∀`・,,)っ-○○○
2014/06/04(水) 00:14:41.71ID:IxbVXe6Hリテラルから型が推定できるからこそできる業であって。
とはいえもともとObj-Cが動的バインディングを売りにしてたし
ある程度は実行時評価の部分は残るのかなという気がしている。
0190デフォルトの名無しさん
2014/06/04(水) 00:18:30.10ID:F6AvD4LEC++でも採用されてる多態性のことだよね?
動的に実行するクラスが決まる。
0191デフォルトの名無しさん
2014/06/04(水) 00:20:20.77ID:lzmGUwMb俺は静的な方が好きなんだけどObjective-Cじゃないならなんでもいいや
あと>>163でジェネリクスと変性って同じだろw
■ このスレッドは過去ログ倉庫に格納されています