Skip to content

Instantly share code, notes, and snippets.

Skydark Chen skydark

Block or report user

Report or block skydark

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@skydark
skydark / raskell.rb
Created May 24, 2013 — forked from andkerosine/raskell.rb
list comprehension in ruby, see also: https://gist.github.com/freakhill/5564328 #ruby
View raskell.rb
$stack, $draws = [], {}
def method_missing *args
return if args[0][/^to_/]
$stack << args.map { |a| a or $stack.pop }
$draws[$stack.pop(2)[0][0]] = args[1] if args[0] == :<
end
class Array
def +@
@skydark
skydark / patternmatch.py
Created Dec 5, 2012
A simple pattern matcher #python
View patternmatch.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import unittest
GREATER, LESSER, EQUAL, NOT_COMPARABLE = 1, -1, 0, None
def compare(e1, e2):
order = e1.compare(e2)
View async.py
from threading import Thread
import hashlib
def async(gen):
def func(*args, **kwargs):
it = gen(*args, **kwargs)
result = it.next()
Thread(target=lambda: list(it)).start()
return result
return func
@skydark
skydark / sendevent.c
Created Sep 20, 2012
以前在智器Q5/V5上配合Openbox时自己胡乱写的一个东西,推荐用xdotool替代。#C #X
View sendevent.c
/*
* sendevent
* A Simple Wraper to Send XEvent
* usage:
* sendevent key|mouse [-modifier] name
*
* Start : 2010/3/6
* Last : 2010/3/24
*
* Copyright (c) 2010 Skydark Chen <skydark2 [at] gmail.com>
@skydark
skydark / wawammseg.py
Created Aug 23, 2012 — forked from onlytiancai/wawammseg.py
写了一个简单的支持中文的正向最大匹配的机械分词,其它不用解释了,就几十行代码 #python
View wawammseg.py
# -*- coding:utf-8 -*-
'写了一个简单的支持中文的正向最大匹配的机械分词,其它不用解释了,就几十行代码'
'搜狗词库下载地址:http://vdisk.weibo.com/s/7RlE5'
import string
__dict = {}
def load_dict(dict_file='words.dic'):
'加载词库,把词库加载成一个key为首字符,value为相关词的列表的字典'
View timer.py
import time
class Timer(object):
def __init__(self, verbose=False):
self.verbose = verbose
def __enter__(self):
self.start = time.time()
return self
@skydark
skydark / prime_sieve.go
Created Aug 15, 2012 — forked from lyricat/prime_sieve.go
A concurrent prime sieve #go
View prime_sieve.go
// A concurrent prime sieve
// via: http://golang.org/doc/play/sieve.go
package main
// Send the sequence 2, 3, 4, ... to channel 'ch'.
func Generate(ch chan<- int) {
for i := 2; ; i++ {
ch <- i // Send 'i' to channel 'ch'.
}
@skydark
skydark / lis.py
Created Jul 17, 2012
Scheme Interpreter in Python #scheme #python
View lis.py
################ Lispy: Scheme Interpreter in Python
## (c) Peter Norvig, 2010; See http://norvig.com/lispy.html
################ Symbol, Env classes
from __future__ import division
Symbol = str
@skydark
skydark / closures-in-ruby.rb
Created May 23, 2012
Ruby's closures #ruby
View closures-in-ruby.rb
# CLOSURES IN RUBY Paul Cantrell http://innig.net
# Email: username "cantrell", domain name "pobox.com"
#
# 翻译: kenshin54 http://kenbeit.com
# I recommend executing this file, then reading it alongside its output.
# 我强烈建议执行此脚本,然后根据它的输出来理解它。
#
# Alteratively, you can give yourself a sort of Ruby test by deleting all the comments,
# then trying to guess the output of the code!
View lua_OO.lua
-- 这里提供 Lua 中实现 OO 的一种方案:
local _class={}
function class(super)
local class_type={}
class_type.ctor=false
class_type.super=super
class_type.new=function(...)
local obj={}
You can’t perform that action at this time.