Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
import Foundation protocol Animal { var binomen:String { get } init() } struct Cat: Animal { let binomen = "Felis silvestris catus" let theYoung = "kitten" } struct Dog: Animal { let binomen = "Canis lupus familiaris" let theYoung = "puppy" } var pet:Animal = (arc4random() & 1 == 1) ? Cat() : Dog() Q0: このコードは動きますか? A0: 動く A1: (type mismatchで動かない) 正解はA0、きちんと動きます。PlaygroundsなりREPLで確認してみてください。で、本題です。
About the content This content has been published here with the express permission of the author. MVVM is the critical design pattern for front-end engineers. There are so many ways that objects can talk to each other in an iOS App: delegates, callbacks, notification. In this Swift Language User Group talk, Max Alexander shows you how to streamline your development process in 3 easy patterns with
Swift Intermediate Language A high level IR to complement LLVM Joe Groff and Chris Lattner Why SIL? Clang Parse Sema CodeGen LLVM *.c AST AST' IR *.o Clang Parse Sema CodeGen LLVM *.c AST AST' IR *.o Clang Parse Sema CodeGen LLVM *.c AST AST' IR *.o Clang CodeGen CodeGen 🌲 🌲 🌲 🌲 🌲 🌲🌲 🌲 🌲 Parse Sema LLVM *.c AST AST' IR *.o Clang CodeGen CodeGen 🌲 🌲 🌲 🌲 🌲 🌲🌲 🌲 🌲 Parse Sema LLVM *.c
Some say that building a small language interpreter, especially if a LISP, is one of those things you have to do at least one time in your life as a programmer, an eye opening experience that will give you new insights into how the tools you use everyday work and demystify a few concepts that seem daunting when seen from afar. In this article, we’ll implement a minimal LISP based on the 1978 paper
This talk was recorded at Swift London, a gathering for the Swift inclined. ❤️ Huge thanks to Novoda for helping it happen! 🌎 Find out more: http://swiftldn.co 🎪 Join our Slack: http://swiftlondonslack.herokuapp.com 🐦 Say hi on Twitter: https://twitter.com/swiftldn TALK DESCRIPTION Alex introduces us to the Swift Intermediate Language (SIL), showing how source code is compiled through SI
twitter.com 型を明確にすることがSwiftらしいやり方であると気づいた時、同時に時には型を消す必要があると分かります。この講演では、型とは何か、型を消すことが何を意味するか、なぜそうしたいかについて解説します。 型消去の話をします 怖い? どういうこと? 型とは何? 最高の定義はWikipediaで見つかりました。型とは、分類であり、値の集合とその値に対する有効な演算を定義するものであるということですね。 Swiftコンパイラにとってこれらは便利な考え方です。 StringにIntを入れることは有効ではないわけです。しかしすべての型が平等なのではなく、コンパイラがチェック出来ない型が有ります。 ここで具象型と抽象型を考えます。具象型はダイレクトにインスタンス化でき、明確なデータを持っていて、オブジェクト間でやりとしして情報共有がなされます。 一方抽象型は不完全な実装になります。
本連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftはAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲妻のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった
ReSwift is a Redux-like implementation of the unidirectional data flow architecture in Swift. ReSwift helps you to separate three important concerns of your app's components: State: in a ReSwift app the entire app state is explicitly stored in a data structure. This helps avoid complicated state management code, enables better debugging and has many, many more benefits... Views: in a ReSwift app y
Swift Advent Calendar 2015 - Qiitaの20日目の記事です。 遅くなってしまいごめんなさい。 TL;DL 不変性を保ちつつ、ネストしたデータ構造に対するアクセスをLensの合成で扱える きっかけ 以前、Lens&Prism勉強会 - connpass に参加した際に興味を持ったので今回Swiftで簡易的な実装をしてみました。 to4iki/Monocle また、今回間違って説明していることなどありましたらコメント欄で教えていただけると嬉しいです! Lens もともとはHaskellのlensパッケージが存在していて、 今回参考にしたのは、それをScalaで実装したMonocleのLensです。 (MonocleはLens以外もTraversal, Optional, Prism, Isoを提供しています) Java実装: functionaljava/Lens
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近,超音波通信技術が注目を浴びています.先日,あの LINE の友だち追加機能にも,超音波通信を用いる方法が追加されました.今後,超音波通信はますます実用化されていくことと思われます. 今回は,そんな話題の超音波通信に関して,その概要と,iOS での実現方法をざっくりと書いてみようと思います. 超音波通信の概要 超音波通信は,人には聴こえない,高周波音で情報通信をおこなう手段です.人の可聴域は 18kHz あたりまでなので,基本的にそれ以上の周波数を用います. 超音波は当然のことながら 「音」 なので,デバイス非依存であり,かつデバイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く