This file contains hidden or 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
[myObject myMethod:^(id obj) | |
{ | |
return [obj intValue]; | |
}]; | |
MyFunction(myObject, ^(id obj) | |
{ | |
return [obj intValue]; | |
}); |
This file contains hidden or 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
$ file /Volumes/Release/LRResty.framework/LRResty | |
/Volumes/Release/LRResty.framework/LRResty: Mach-O universal binary with 3 architectures | |
/Volumes/Release/LRResty.framework/LRResty (for architecture i386): current ar archive random library | |
/Volumes/Release/LRResty.framework/LRResty (for architecture armv6): current ar archive random library | |
/Volumes/Release/LRResty.framework/LRResty (for architecture armv7): current ar archive random library |
This file contains hidden or 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 <Foundation/Foundation.h> | |
#define DRT_NARGS(...) DRT_NARGS_(__VA_ARGS__, 63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0) | |
#define DRT_NARGS_(...) DRT_ARGS_N(__VA_ARGS__) | |
#define DRT_ARGS_N(_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30, _31,_32,_33,_34,_35,_36,_37,_38,_39,_40,_41,_42,_43,_44,_45,_46,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_58,_59,_60,_61,_62,_63,N,...) N | |
#define DRT_CONCAT(a, ...) a ## __VA_ARGS__ | |
#define DRT_IIF(c) DRT_CONCAT(DRT_IIF_, c) | |
#define DRT_IIF_0(t, ...) __VA_ARGS__ |
This file contains hidden or 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 "Foundation.h" | |
@interface NSDate (Rapture) | |
+ (instancetype)endOfDays; | |
@end |
This file contains hidden or 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
// clang -Wall -fobjc-arc -framework Foundation -o test-y test-y.m | |
// Based on http://igstan.ro/posts/2010-12-01-deriving-the-y-combinator-in-7-easy-steps.html | |
#import <Foundation/Foundation.h> | |
int main(int argc, char **argv) | |
{ | |
// Version 1 | |
// Simple factorial recursive version, __block needed to capture fact inside |
This file contains hidden or 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
require 'pathname' | |
Pathname.new(`pwd`.strip).enum_for(:descend).map { |x| x.basename.to_path } |
This file contains hidden or 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
NSMutableArray *horizontalConstraints = [NSMutableArray array]; | |
// Fixed width, same width for all buttons (33) | |
[horizontalConstraints addObject:[NSLayoutConstraint constraintWithItem:left attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.f constant:33.f]]; | |
[horizontalConstraints addObject:[NSLayoutConstraint constraintWithItem:left attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:center1 attribute:NSLayoutAttributeWidth multiplier:1.f constant:0]]; | |
[horizontalConstraints addObject:[NSLayoutConstraint constraintWithItem:left attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:center2 attribute:NSLayoutAttributeWidth multiplier:1.f constant:0]]; | |
[horizontalConstraints addObject:[NSLayoutConstraint constraintWithItem:left attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:right attribute:NSLayoutAttributeWidth multiplier:1.f constant:0]]; | |
// Align baselines | |
[horizonta |
This file contains hidden or 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 Foundation | |
enum Either<A, B> { | |
case Left(@auto_closure () -> A) | |
case Right(@auto_closure () -> B) | |
func fold<X>(fa: A -> X, fb: B -> X) -> X { | |
switch self { | |
case let .Left(a): return fa(a()) | |
case let .Right(b): return fb(b()) |
This file contains hidden or 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
class MyClass { | |
var enabled: Bool? { | |
didSet { | |
if let v = enabled? { | |
self.enabled = v ? true : nil | |
} | |
} | |
} | |
init(enabled: Bool) { |
This file contains hidden or 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
// You can have a recursive function | |
func fact(n: Int) -> Int { | |
if n < 2 { return 1 } | |
return n * fact(n - 1) | |
} | |
// But you cannot have a recursive closure | |
// let fact2: Int -> Int = { n in | |
// if n < 2 { return 1 } | |
// return n * fact2(n - 1) // ERROR: Variable used within its own initial value |