こんなコードはよいコード
- 読みやすいことはよいことだ
- 見た目が単純だと読みやすい
- 皆がよく知っている構成は読みやすい (標準に従う。すでに知っているもの (Unix のコマンドとか) に従う。すでにあるものに従う)
- 書かないことはよいことだ
f = open("vvvvvvmusic.vvv", 'rb') | |
q = f.read() | |
FILE_NAMES = ['0levelcomplete.ogg','1pushingonwards.ogg','2positiveforce.ogg','3potentialforanything.ogg','4passionforexploring.ogg','5intermission.ogg','6presentingvvvvvv.ogg','7gamecomplete.ogg','8predestinedfate.ogg','9positiveforcereversed.ogg','10popularpotpourri.ogg','11pipedream.ogg','12pressurecooker.ogg','13pacedenergy.ogg','14piercingthesky.ogg'] | |
startAt = endAt = -1 | |
musStartAt = musEndAt = -1 | |
currentMus = 0 | |
while True: | |
oldStartAt = startAt |
import qualified VM as V | |
import qualified Text.Parsec as P | |
import Control.Applicative ((<|>), (<$>)) | |
import qualified Control.Monad.State as S | |
import qualified Data.Map as M | |
import Data.Maybe (fromJust) | |
data Intermediate = Comment String | |
| Inst V.Instruction | |
| Paramdef String |
<?php | |
$input = json_decode(file_get_contents("php://input"), true); | |
$source = $input["events"][0]["message"]["text"]; | |
define("PHP_SIGN", "<?"); | |
define("LLEVAL_ENDPOINT", "http://api.dan.co.jp/lleval.cgi"); | |
if (0 === strpos($source, PHP_SIGN)) { | |
echo prep($source); |
import qualified Control.Monad.State as S | |
import Control.Applicative ((<$>), (<*>)) | |
import Data.Maybe (fromMaybe) | |
import qualified Data.Map as M | |
import Control.Monad (unless) | |
data BF = Token Char | Loop [BF] deriving Show | |
type Tape = M.Map Int Char | |
type Env = (Int, Tape) |
(define (while1 cond body) | |
(let ((c (call/cc (lambda (c) c)))) | |
(if (cond) | |
(begin | |
(body) | |
(c c))))) | |
(define i 0) | |
(while1 (lambda () (< i 10)) | |
(lambda () |
data ExprP = Var String | Apply ExprP ExprP | Lambda String ExprP -- lambda calculus expression | |
data Expr = I | K | S | Expr :$ Expr | Free String -- combinatory expression | |
compile :: ExprP -> Expr | |
compile (Apply f x) = compile f :$ compile x | |
compile (Lambda p e) = bindee p $ compile e | |
compile (Var i) = Free i | |
bindee :: String -> Expr -> Expr |
「あるプログラミング言語を一通り触る」という目標を達成するのに必要な課題の集合はなにか? | |
"Hellow World" | |
まずはこれ | |
標準出力、実行環境 | |
"fizzbuzz" | |
if文, mod |
# source : http://code.google.com/p/natvpn/source/browse/trunk/stun_server_list | |
# A list of available STUN server. | |
stun.l.google.com:19302 | |
stun1.l.google.com:19302 | |
stun2.l.google.com:19302 | |
stun3.l.google.com:19302 | |
stun4.l.google.com:19302 | |
stun01.sipphone.com | |
stun.ekiga.net |