This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//: Playground - noun: a place where people can play | |
import Cocoa | |
protocol Account: Hashable { | |
var accountID: String {get} | |
var hashValue: Int {get} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//: Playground - noun: a place where people can play | |
import Cocoa | |
// Solution: if I use "class" instead of "AnyObject", then it’s a pure Swift solution: | |
// http://inessential.com/2015/07/23/swift_diary_3_arrays_protocols_and_p | |
// https://twitter.com/_mattrubin/status/624266521896992768 | |
// Or… AnyObject may be marked @objc, but it is in fact a native Swift feature: | |
// https://twitter.com/jckarter/status/624270700614942721 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Cocoa | |
protocol Thing { | |
var x: String {get} | |
init(s: String) | |
} | |
class Foo: Thing { | |
let x: String |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// How do you do this in Swift? | |
- (Class)classToUse { | |
return [Foo class]; // assume it's something else sometimes | |
} | |
- (id)generateThingForString:(NSString *)s { | |
Class thingClass = [self classToUse]; | |
return [[thingClass alloc] initWithString:s]; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma mark - Class Methods | |
+ (BOOL)requiresConstraintBasedLayout { | |
return YES; | |
} | |
#pragma mark - Init | |
- (id)initWithFrame:(CGRect)frame { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby -wKU | |
# Comments added 6 March 2014. | |
# Implementation of the MetaWeblog API for my personal Ruby static blog generator. | |
# This is not even nearly idiomatic Ruby. There are all kinds of issues. | |
# (What's with the method interiors all being mushed-up together?) | |
# But -- it's also worked flawlessly for five years without my having to edit it. | |
# It won't work for anyone else as-is — but if it helps anyone | |
# to do a MetaWeblog API implementation, then cool. |