Skip to content

Instantly share code, notes, and snippets.

#import <Foundation/Foundation.h>
@implementation NSArray (BlocksTest)
- (void) do:(void (^)(id))aBlock;
{
[self enumerateObjectsUsingBlock:
^(id obj, NSUInteger idx, BOOL *stop) {
aBlock(obj);
}];
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script>
$(function(){
console.log("$('dt:first').text()", $('dt:first').text())
console.log("should only be foo", $('dt:first').text() === "foo");
var dls = $('dl');
console.log("dls.find('dt:first').text()", dls.find('dt:first').text())
console.log("should only be foo", dls.find('dt:first').text() === "foo");
class Object
def chain_method(with_symbol, &with_block_returned_from)
old_method = method with_symbol
new_method = with_block_returned_from.call old_method
eigenclass = class << self; self; end
eigenclass.class_eval do
define_method with_symbol, new_method
end
end
end
var obj = SC.Object.extend({foo: null})
var array = [obj.create({foo: 'bar'})]
function arrayObserver(array) { console.log('called') }
var observer = SC.RangeObserver.create(array, SC.IndexSet.create(0, array.get('length')), undefined, arrayObserver, YES)
observer.beginObserving()
array.replace(0, obj.create({foo: 'baz'}))
array.objectAt(0).set('foo', 'fnord')
hideOrShowDescriptionButton: SC.DisclosureView.design({
tagName: 'div',
layout: { right: 80, top: 14, width: 15, height: 15 },
isVisibleBinding: '*parentView.shouldAllowCollapsingStories',
didChangeValue: function() {
this.get('parentView').didHideOrShowDescription();
}.observes('value')
}),
didHideOrShowDescription: function() {
@dwt
dwt / roulette.rb
Created December 5, 2010 18:39
Implements a Martingale strategy for a player of roulette to let me learn about rspec
class RouletteCroupier
attr_accessor :table, :last_result
def bets
@bets ||= []
end
def place_color_bet(player, color, amount)
bets << { :player => player, :color => color, :amount => amount }
def each_fortune_value(initial_fortune, minimum_bet, maximum_bet)
table = PerfectEuropeanRouletteTable.new RouletteCroupier.new, minimum_bet, maximum_bet
player = MartingalPlayer.new initial_fortune, table
yield player.fortune
while not player.bankrupt?
player.place_jetons :black
table.croupier.no_more_bets
yield player.fortune
end
Arrayobservers = SC.Application.create({
NAMESPACE: 'Arrayobservers',
VERSION: '0.1.0',
store: SC.Store.create().from(SC.Record.fixtures)
});
Arrayobservers.objects = [SC.Object.create({foo: 1}), SC.Object.create({foo: 2})];
Arrayobservers = SC.Application.create({
NAMESPACE: 'Arrayobservers',
VERSION: '0.1.0',
store: SC.Store.create().from(SC.Record.fixtures)
});
{
"ok":true,
"no_changes":true,
"session_id":"191983e241fc72900cc9f27f14a98719",
"source_last_seq":99,
"replication_id_version":2,
"history":
[
{