Using Python's built-in defaultdict we can easily define a tree data structure:
def tree(): return defaultdict(tree)
That's it!
const { Cc, Ci } = require("chrome"); | |
const xpcom = require("xpcom"); | |
const { Class } = require("api-utils/heritage"); | |
exports.preventCrossRequest = Class({ | |
extends: xpcom.Unknown, | |
interfaces: ["nsIContentPolicy"], | |
shouldLoad: function (contType, contLoc, reqOrig, ctx, typeGuess, extra) { | |
Using Python's built-in defaultdict we can easily define a tree data structure:
def tree(): return defaultdict(tree)
That's it!
import re | |
def mapper(emit, text): | |
words = re.split('[^\w]', text.lower()) | |
for word in words: | |
if word: | |
emit(word, 1) | |
def reducer(key, values): |
Use these rapid keyboard shortcuts to control the GitHub Atom text editor on Mac OSX.
# Initialize the scroll | |
page = es.search( | |
index = 'yourIndex', | |
doc_type = 'yourType', | |
scroll = '2m', | |
search_type = 'scan', | |
size = 1000, | |
body = { | |
# Your query's body | |
}) |
#!/usr/bin/env python | |
# Reflects the requests from HTTP GET methods | |
# Written by Nathan Hamiel (2010), modified by Michael Goodness (2015) | |
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler | |
from argparse import ArgumentParser | |
from urlparse import urlparse | |
import daemon | |
import socket |
defprotocol
: defines an interfacedeftype
: create a bare-bones object which implements a protocoldefrecord
: creates an immutable persistent map which implements a protocolTypically you'll use defrecord
(or even a basic map
);
unless you need some specific Java inter-op,
where by you'll want to use deftype
instead.
Note:
defprotocol
allows you to add new abstractions in a clean way Rather than (like OOP) having polymorphism on the class itself,
;; After connecting an nrepl client repl to an nrepl server, some | |
;; output will still appear on stdout from the server. | |
;; Try these snippets - they will both produce output on the nrepl server | |
;; Java libraries commonly do both these things. | |
(.println System/out "Hello stdout.") | |
(.start (Thread. #(println "Hello from a new thread."))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |