Skip to content

Instantly share code, notes, and snippets.

@esehara
esehara / gist:1341354
Created November 5, 2011 10:05
Shooting Termermin
# -*- coding:utf-8 -*-
import pygame
from pygame.locals import *
import pyaudio
import array
import math
import sys
import random
class Player:
@esehara
esehara / gist:1354693
Created November 10, 2011 11:58
Png to Div
import png
import sys
import itertools
argvs = sys.argv
def main():
if len(argvs) != 2:
print "Usage: python myself.py [file *.png]"
exit()
if argvs[1].split(".")[1] != "png":
@esehara
esehara / gist:1360390
Created November 12, 2011 11:05
塗りつぶし法による迷路解決のアルゴリズム
def parse_maze(filename):
"""
dataset example.
@s@@@@@@@
@ @ @ @
@ @@@ @ g
@ @ @
@@@ @ @@@
@ @
@esehara
esehara / result.txt
Created November 20, 2011 06:31
ブックマークされていないサイトのlivedoor readerランキング
import BeautifulSoup
import urllib2
urllist = {}
def make_urllist(page):
global urllist
pagedata = urllib2.urlopen("http://tophatenar.com/ranking/subscriber/" + str(page) + "?blog=all").read()
soup = BeautifulSoup.BeautifulSoup(pagedata)
tables = soup("tr",{"id":"models"})
for table in tables:
# -*- coding:utf-8 -*-
import MeCab
import json
import urllib2
import re
import time
# --- Define
mecab = MeCab.Tagger("mecabrc")
words = {}
@esehara
esehara / gist:1411093
Created November 30, 2011 21:48
Monad for Python
"""
Define Monad in Haskell.
instance Monad Maybe where
(Just x) >>= k = k x
Nothing >>= _ = Nothing
return = Just
fail _ = Nothing
"""
def MaybeMonad(x):
@esehara
esehara / gist:1417413
Created December 1, 2011 15:05
栗まんじゅう
import threading
import time
def kuriman():
kuriman = 1
while 1:
kuriman = kuriman * 2 if kuriman > 1 else 2
yield kuriman
def byby():
@esehara
esehara / gist:1455469
Created December 10, 2011 16:10
PyMonad (Draft Maybe)
import types
class NotFunctionException(Exception):
def __init__(self,value):
self.value = value
def __str__(self):
return repr("NotFunctionException")
class NotMonadException(Exception):
def __init__(self,value):
@esehara
esehara / gist:1467372
Created December 12, 2011 14:14
Python Monad Example
from monad import *
people_data = {"esehara":"Python"
,"Robot" :"Haskell"
,"Someone":"Clojure"}
language_data = {"Python" : "Python is Very Cool"
,"Haskell": "Haskell is Functional"}
@esehara
esehara / gist:2523056
Created April 29, 2012 01:03
好きな言語とその理由

Python

 個人的には、一番好きな言語。好きな理由としては、Pythonが、 簡潔さと解法の一意性 を求めているからだ。どういうことかといえば、例えばPythonにはSwitchらしいものはない。Switchを実現したければ、elseifを連呼するしかない。そういう意味では、Pythonという言語は「不便な言語」ではある。しかし、その代償に、Pythonは「読みやすくなる」。こう考えてみよう。switchを連打したら、そもそも何の関数を比較しているのかわからなくなるでしょ?ただ、やはりPythonには不満がある。まず一つに、そのマルチバイト文字処理が未成熟であったこと。これは、日本に住んでいる私たちにとっては痛いことである。Python3になってから、文字列はUnicodeで扱うようになったため、この問題は解決する予定ではあるものの、しかしPythonよりもRubyが選ばれるのは、このへんの事情もあるように思う。

PHP

 嫌われ率No.1の言語ではあるが、個人的には嫌いではない。そして、それは個人的に使う限りにおいてだ。PHPの好きなところというのは、その節操の無さだ。必要な機能は何でも詰め込む。それは、機能が膨張し、汚くなりがちではあるものの、そういう割り切り方は嫌いではないし、その部分は周辺言語と比較して突き抜けている。また、ドキュメントがちゃんと日本語化されていたりという点も好印象。問題は、その緩さ。Warning出しまくっていようが、何だろうが、なんとなーく動いてしまう点とかその辺り。PHP5.3あたりになってから、Classなんかが書けるようになったのは良かった点ではないでしょうか。