You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
色々あるのでまとめてみた。 数値リテラルの区切り文字として使用 単純に見やすさのため数値リテラル内を区切ることが出来る。評価時には無視される。 let oneMillion = 1_000_000 let justOverOneMillion = 1_000_000.000_000_1 タプル展開時の無視変数として使用 特定の要素のみ展開し、不要な要素を _ で無視。 let status = (200, "OK") let (code, _) = status let (_, message) = status for-in ループ変数が必要ないときに使用 ループの現在値が必要ない時は _ で無視できる。 let base = 3 let power = 10 let answer = 1 for _ in 1...power { answer *= base } タプル展開も同様。 f
Swiftオフィシャルの部分適用 まず、Swiftオフィシャルな構文として func addTwoNumbers(a: Int)(b: Int) -> Int { return a + b } というように引数を1つ1つ別の括弧で囲ってfunctionを定義すると let add1 = addTwoNumbers(1) add1(b: 2) //< 3 というかんじに、 まず、1つめの引数だけ部分適用(ここでは a) 部分適用したものに後から次の引数を適用(ここでは b) というのができる。 専用の書き方じゃなくてふつうのfunctionに部分適用できないの? 使うかどうかは別としてHaskellみたいに全ての関数に部分適用できたら面白いなーと。 また、上のような専用の定義にしちゃうと addTwoNumbers(1, 2) みたいな普通の呼び方ができなくなっちゃうし。 そんなとき、 Sw
最近目にすることの多かったカリー化関数(Curried Functions)について。 カリー化(currying)とは、複数の引数を取る関数について、最終的に引数を一つにするよう部分適用を行うこと。カリー化した関数は元の関数の(多くの場合)最初の引数だけを取り、戻り値は残りの引数を取って結果を返す関数、となるようだ。 言葉の定義はともかくカリー化できると、引数の値は動的だがある文脈では固定であって欲しい、という場合に便利になる。 最初の例としてわかりやすかった ijoshsmith.com の例。を少し改変してみる。 例えば、元の関数が以下のようなケース。 func appendSeparatorToStrings(strings: [String], separator: String) -> String { return separator.join(strings) } appe
I have not yet been able to figure out how to get a substring of a String in Swift: var str = “Hello, playground” func test(str: String) -> String { return str.substringWithRange( /* What goes here? */ ) } test (str) I'm not able to create a Range in Swift. Autocomplete in the Playground isn’t super helpful - this is what it suggests: return str.substringWithRange(aRange: Range<String.Index>) I ha
// An example class in a framework target. public class ListItem: NSObject { public var text: String public var isComplete: Bool // Readable throughout the module, but only writeable from // within this file. private(set) var UUID: NSUUID public init(text: String, completed: Bool, UUID: NSUUID) { self.text = text self.isComplete = completed self.UUID = UUID } func refreshIdentity() { self.UUID = N
Although iOS 8 and Swift has garnered the lion’s share of attention of the WWDC 2014 announcements, the additions and improvements to testing in Xcode 6 may end up making some of the most profound impact in the long-term. This week, we’ll take a look at XCTest, the testing framework built into Xcode, as well as the exciting new additions in Xcode 6: XCTestExpectation and performance tests. Most Xc
สล็อตเว็บตรง ฝาก-ถอน ไม่มีขั้นต่ำ เว็บตรงสล็อต FAFA666 ที่คนเล่นเยอะที่สุด พบกับเกมทำเงินที่ง่ายที่สุดในตอนนี้ได้แล้วกับการเข้ามาเล่นพนัน สล็อตเว็บตรง ของเรา ในตอนนี้ที่มีอัตราการชนะสูงถึง 95 เปอร์เซ็นต์ ซึ่งจะทำให้คุณสามารถกอบโกยกำไรได้ง่ายมากๆ แถมการเข้ามาเล่นพนันที่ สล็อต ของเรา ในตอนนี้ยังมีการฝากถอนแบบไม่มีขั้นต่ำให้นักพนันทุกคนได้เล่นอีกด้วย ซึ่งการฝากถอนไม่มีขั้นต่ำนั้นจะทำให้นักพนันทุกคนสา
Jul 23, 2014 AppleのSwift Blogを読んで@auto_closureが面白そうだと思い活用方法を考えてみました。 @auto_closureはclosureを取る引数につけると、呼び出し側はclosureの{}を省略できるようになるというものです。 Swift Blogによると、AppleはSwiftでのassert()などの実装にこれを利用しているそうです。 今回はこれを利用して、条件が成立するまで待つXCTestExpectationを実装してみました。 以下のように使うことができます。 func testBlockOperation() { let queue = NSOperationQueue() let operation = NSBlockOperation(block: { NSThread.sleepForTimeInterval(1.0) })
Writing about learning Swift. We've got the func. By Chris Cieslak. There was some talk on Twitter recently about the best way to return errors in Swift, such as in this discussion started by Schwa (some great responses in there:) So, opinions on returning errors in a swift world? func foo() -> (Bool?, NSError?) func foo(inout error:NSError) -> Bool Something else? June 8, 2014Now, if we were just
前置き こちらの記事には2014/06/09現在、公式にはリリースされていないiOS8プレリリースドキュメントへのリンクが含まれます。iOS8にて新しく追加された内容には一切触れておらずAppleとのNDA規約にも違反するものではないという認識ですが、場合により予告なく削除する可能性があります。予めご了承ください。 本題 iOS8プレリリースドキュメントを眺めていて気になったのですが、ほとんどのCocoaのメソッドの引数に!がついています。例えばNSKeyValueObservingプロトコルのaddObserver:forKeyPath:options:context:メソッドのシグネチャは以下のようになっています。 func addObserver(_ anObserver: NSObject!, forKeyPath keyPath: String!, options options
このドキュメントはSwift1.0以前のベータ版時に書かれたものです。現状のSwift仕様とは大きく乖離している可能性があります はじめに 久しぶりに訪れた梅雨晴れの朝に油断をして、傘を持たずに外に出てしまった人は多かったのではないでしょうか。梅雨明けはまだまだずっと先で、夏が待ち遠しい。というかずっと春であって欲しいyimajoです(ちなみに上の写真は私ではありません)。 今週もWantedly社で開催された第2回Swift 勉強会 - LT会に参加し、「WebAPIを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方の解説」というタイトルでLTしてきたのでその内容を公開しておきます。 発表資料は「WebAPIを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方」はSlideShareにア
Swift用コレクション操作ライブラリ。関数プログラミングのヘルパと謳っており、既存のクラスを拡張するのではなく関数の形で提供しているところが特徴。 $ is a Swift library that provides useful functional programming helper methods without extending any built in objects. Dollar.$wift by ankurp 使用例 let arr = [["age": 36], ["age": 40], ["age": 1]] let result = $.findIndex(arr) { $0["age"] < 20 } result == 2 他にも $.every, $.contains, $.last, $.min,...等々大量の関数が用意さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く