common lisp マクロ入門

lispを少しずつ勉強しています。 マクロを書いてみました。 (defmacro list3 (a b c) `'(a b c)) (defmacro let1 ((var val) &body body) `(let ((,var ,val)) ,@body )) (defmacro -unless (bool &body body) `(if (not ,bool) (progn ,@body) nil)) (print…

common lisp の first car

最近common lispをより深く知りたくて 趣味で作っているアプリのサーバー部分をcommon lispで書こうとしています。通勤時間に「実践Common lisp」を読んでいるのですが、 car, cdrは古いみたいですね。 これからはfirst, restを使っていきたいと思います。サ…

rubyでgem公開してみた。

rubyで初めてgemを公開してみました。github.com rubytrisというテトリスのgemです。 オープンソースの開発とかも携わっていけたらいいな.

phpで使いそうな画像処理のクラス2

前回のコードが時間がないままフレームワークの中で使っていたものを汎用的にしたので 最悪だったのですが 今回はまだマシかと思います。 とりあえず直しただけ多分動く一つ目は戒めとして残しておきます。 target_file = $…

haskellでバブルソート

haskell面白いです。なんかアプリとか作ってみようかな main :: IO () main = do putStrLn $ (show pre_sort ) ++ " bubbleSorted -> " ++ (show (bubbleSort pre_sort)) where pre_sort = [6, 5, 1, 9, 3, 8, 2, 7, 4] bubbleSort :: Ord a => [a] -> [a] b…

Haskellでlifeゲームしてみた

haskell でlifegameをして見ました。 haskellですがlifegameを書くだけでここまで楽しいとは思いませんでした。すごく楽しいですよ。 まだまだ何も詳しくないですがおすすめです。いっぱいhaskellで書いていきたいですね! 最初はlogが出せないと思って、deb…

swiftでlifeゲーム

swiftを書かなくちゃいけなくなりそうなので練習しました。lifegameです。 swift使ってるのにいつも通りterminalです。新しい言語っぽくて描きやすい。 methodを呼び出すときは、一つでも名前付き引数にするのかな?(書かないとエラーが上がるような気がする)…

pythonでNクイーン作ってみた。

python3でNクイーンを作りました。 LL系の言語の中で人のコードを読まなければいけないときはダントツでpythonがいいです。 読みやすい。(私が描いたpythonが読みやすいかは置いておいて。。。) class Queen(): def __init__(self, num): self._num = num se…

Rustでライフゲーム描いてみた。

Rustでライフゲーム描いてみました。 version 1.18.0です。型を正しく決めなければ後でうごかなくなってしまって、キャストまみれになってしまっていて うわぁー汚いって感じになってます。 とりあえず動くだけになってしまっているかも、 出来上がるものに…

slackで出来るテトリス作りました。

slackでテトリス作って見ました。遅いけど、 まぁまぁ楽しめるかもしれません。github.com写真載せようと思って 起動して見たら、Invalid Oauthと出てしまったので、 Debug時にアクセスしすぎたかもしれません。 slackさんすみません。。。自分でやって見て…

Unity 遺伝的アルゴリズムでマリオ作って見た。

C#の練習がてらunityで遺伝的アルゴリズムを可視化して見ました。やっぱりinstantiate関数は重いですね。 重いということを実感できました。 途中でマテリアルだけ貼りかえるように変えました。 正解のデータ 途中の感じ見てるだけでちょっと面白いかも。git…

pythonでテトリス作ってみた

私は自分で書くならRubyが好きなのですが、 Rubyで書いた人のコードはとても読みにくいような気がするので(たまたまかも) 仕事ではPythonが使いたいですね。python3です! from enum import Enum import random import time import threading from getch i…

Go言語でlife game 作ってみた

Go言語いいですよね。 早く使いこなせるようになりたいなと思っています。 /* 誕生 死んでいるセルに隣接する生きたセルがちょうど3つあれば、次の世代が誕生する。 生存 生きているセルに隣接する生きたセルが2つか3つならば、次の世代でも生存する。 過疎 …

rubyでテトリス

rubyでterminalでのテトリス作って見ました。 無理矢理なところも結構あるので いずれ時間があればリファクタリングとかするかもしれないです。 require 'io/console' BLOCKS = [ [ [0, 1, 0], [1, 1, 1] ], [ [0, 1, 1], [1, 1, 0] ], [ [1, 1, 0], [0, 1, …

Go言語で8クイーン

久しぶりにGo言語が書いて見たくなって 8クイーン実装して見ました。 package main import "fmt" type Queen struct { num int count int result []int } func new(_num int) *Queen { _result := make([]int, _num) i := 0 for i < _num { _result[i] = -1…

pythonでlifegameしてみた

pythonでlifegameして見ました。 lispとpythonってめっちゃ目を細めてみると似ていますね。 import random COUNT = 20 LIVE = 'o ' DEATH = '_ ' PIONEER = 100 class Field: def __init__(self): self._cells = [[DEATH for i in range(COUNT)] for j in ra…

CommonlispでCRUDして見た。

いつかlispを使える職場に行くことを夢見て common lispでCRUDを実装して見ました。 (ql:quickload :cl-dbi) #| mysql CREATE DATABASE test; USE test; CREATE TABLE tests(id int(5), name varchar(20), created timestamp); INSERT INTO tests(id, name, …

cppでlifegameして見た。

先日common lispで書いたものをc++で書いて見ました。 最近common lispを書きすぎて四則演算とか条件演算とかが 前にないと、頭が混乱して逆に読みにくくなって来ました笑 #include <iostream> #include <random> #include <unistd.h> using namespace std; const int COUNT = 20; const </unistd.h></random></iostream>…

common lispでlife gameしてみた。

lifegame自体が人生初で組んだので 間違っているところがあるかもしれませんがご了承ください。lispたのしいです。 lifegameも動いた時は興奮しますね。今回はlispで初めて配列を使って見ました。 (defconstant +count+ 50) (defconstant +live+ "o ") (defc…

commonlispでwebapi叩いてみた

lispでapiを叩くのに色々頑張ったので初心者の方にshareです。 (ql:quickload :drakma) (ql:quickload :babel) (ql:quickload :cl-json) (defun send (endpoint) (let* ( ;drakmaを使ってendpointをgetで叩く (encoded-json (drakma:http-request endpoint))…

phpの関数の大文字小文字の区別

これをみて欲しいんですが、、、

lispでキャラメルフラペチーノ

lispで遺伝的アルゴリズムでキャラメルフラペチーノ作ってみました。 クラスのメンバのアクセスの仕方、loopマクロの使い方を学びました。 ;定数 (defconstant *gene_count* 18) (defconstant *correct* '(c a r a m e l f r a p p u c h i n o)) (defconsta…

地味に使えそうなcatをクリップボードに流し込む方法

terminalで作業していてそれをブログに貼りたい時とか困りますよね?そういう時は pbcopy を使いましょう。 cat memo.txt | pbcopyでクリップボードにコピーされるので ctrl + vでどこにでも貼れますね!qiita.com (ありがとうございました)

lispで8クイーン実装して見た

最近common lispに入門しようとして頑張っているのですが、 lispはすごく楽しいですね! かっこの中に処理がハマった時にテトリスのような快感がありますね。 (defclass queen () ( num count result)) (defmethod init ((q queen) n) (setf (slot-value q '…

C++で8クイーン

Rubyと同じように C++でも描いて見ました。 #include <iostream> using namespace std; class queen{ private: int n; int count; int result[]; void init_array(int y); bool can_put(int x, int y); bool slant_check(int x, int y); bool is_include(int x); void </iostream>…

rubyで8クイーン実装してみた

プログラミング言語の勉強でアルゴリズム実装しようと思いまして、 8クイーン実装して見ました。 先ずはrubyで実装しました。回転、裏返し省いてません。 class Queen def initialize(_queen) @queen = _queen @count = 0 @result = Array.new(_queen, nil) …

C++でキャラメルフラペチーノ

仕事でC++を使うことがありそうなので キャラメルフラペチーノ作ってみました。 ポインタとか、参照とかの使い方がいまいちパッとしないです。 C++とかをうまく使えるようになればもう少しRustも使えるようになるだろうという モチベーションで頑張ります。 …

phpで使いそうな画像処理のクラス

phpで画像縮尺とか exifで回転させたい時とかあると思います。その時のために画像処理のクラスを作ってメモがてら貼っておきます。 次使う時にデバックするのでまだテストしていません。(すみません)(デバッグしてなさすぎ動かない!また上げ直します。)…

Rustのクエスチョンマーク(?)

Rustでcrate.ioとか見ていると ?によく出くわしませんか?調べてみると qnighy.hatenablog.com すでに調べてくれている人がいますね。 とてもありがたいです!でも記事通りにやってもエラーがでて先に進めない。 と思い調べて見ました。?マークを使うために…

common lisp 入門して見た

今回はcommon lispで 1000までの素数表示させて見ました。 (defun main() (let ((i 2)(j 2)) (loop (setq j 2) (loop (when (= j i) (print i) (return)) (when (= (rem i j) 0) (return)) (setq j (+ j 1))) (setq i (+ i 1)) (when (= i 1000) (return))))…