No Programming, No Life

プログラミング関連の話題や雑記

Clojure

GroovyとClojureでunlessを書いてみた

Groovy!(あいさつ) Clojure!(あいさつ)今回はClojureのマクロの練習も兼ねて、unlessを書いてみました。 unlessはifの逆です。(つまり、条件が偽なら実行するやつですね) まずはClojure test-isでテストなども書いてみました。 マクロって素敵。 次はGroov…

Clojureで文字列から動的に関数名を作って実行したいんだが・・・

リストの第一要素がシンボルなら関数として起動できるのかな?と思っていたんだがどうも違うらしい。とりあえず、printlnを例として。(symbol 文字列) でシンボルは作れるらしい。 $ clj Clojure 1.4.0 user=> (symbol? 'println) true user=> (= 'println (…

エラトステネスの篩を使ってClojureで素数を求める

はじめに Project Eulerの問題7, 素数10001番目を求める問題。 今回はエラトステネスの篩を使って実装してみた。 By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13. What is the 10 001st prime numbe…

Buzzになる数字をn個挙げるをClojureで(その2)

このシリーズの一覧はこちら はじめに Clojure! (あいさつ)Buzzになる数字をn個挙げるをClojureで - No Programming, No Lifeの続き。 clojure-contrib.str-utilsのstr-joinをuseして、出力をカンマ区切りにしてみました。 useを追加 (use '(clojure.contrib…

Buzzになる数字をn個挙げるをClojureで

このシリーズの一覧はこちら はじめに Buzzになる数字をn個挙げる - 日々常々 "Buzzになる数字をn個挙げる"をGroovyで…やろうと思ったんだけど - 日々常々 “Buzzになる数字をn個挙げる”をScalaで - 裏紙 なんか面白そうだったのでClojureで。前回のClojureで…

ClojureでFizzBuzzを書いた

このシリーズの一覧はこちら はじめに またClojureをちょこちょこいじりはじめています。ということで、凄く初歩的ですがFizzBuzzからやり直しています。 個人的な感想ですが、Clojureはやはり習得が少々難しい気がするので、ステップアップで学べるような記…

Leiningenを使ってClojureのREPLを起動

ClojureやるならLeiningenが簡単だよということで、Homebrewを使って、インストールからREPLを起動するまでをやってみたのでメモ。(動作環境: Mac OS X 10.6, Homebrew v0.8) まずはHomebrewでleiningenのインストール $ brew install leiningen ==> Downlo…

Clojureの日本語翻訳はじめました

.bbpBox{background:url(http://a1.twimg.com/a/1303856755/images/themes/theme17/bg.gif) #DBE9ED;padding:20px;}#Clojure そういえばClojureのドキュメントを日本語に翻訳してる人っていないのかなぁ、いないなら翻訳作業をやりたいな。とつぶやいとけば…

Clojureで関数合成してみた

はじめに id:fitsさんがいろんな言語*1で関数合成を試しておられたので楽しく拝見していたのですが、ふとClojureがないことに気付きまして、それじゃあClojureでもやってみようと思いこれを書いています。 Groovy, Scala, F#, Haskell による関数・クロージ…

ClojureのREPLの終了方法

ハッカーと画家を読んでたらLispやりたくなってきたのでClojureをいじり始めてみました。とりあえずプログラミングClojureを片手にREPL(対話モード)で遊んでいたんですが、終了方法が書いてなかったのでCtrl+Dなどで終了させていました。ググってみたところ…

シリーズ「ClosureでFizzBuzz」

シリーズ一覧 Buzzになる数字をn個挙げるをClojureで(その2) - No Programming, No Life Buzzになる数字をn個挙げるをClojureで - No Programming, No Life ClojureでFizzBuzzを書いた - No Programming, No Life