Skip to content

Instantly share code, notes, and snippets.

@mnzk
mnzk / member-name-example.rkt
Last active August 29, 2015 14:10
Racketのdefine-member-nameの例
#lang racket
;;
;; queue%クラスのメソッド enqueue, dequeue を producer%, consumer%だけに公開している。
;; let の外部からはこの2メソッドは見えない。
;;
(define-values (queue% producer% consumer%)
(let ()
(define-member-name enqueue (generate-member-key))
(defn k
([x] (format "%sかわいいよ%" x))
([] (k "λ")))
@mnzk
mnzk / primes.ps1
Last active August 29, 2015 14:06
#
# 既知の素数リストを保存しているファイルを読み込み
# 続きから素数を列挙する
#
# 素数リストファイルは
# primes000.txt, primes001.txt, primes002.txt ...
# と複数ファイルに分割されていても良い。
# ファイル番号の順に内容を連結した時、素数が昇順に並んでいること。
# 新たな素数は、ファイル番号最大+1のファイル名で保存します。
#
@mnzk
mnzk / co_itertools.cpp
Last active August 29, 2015 13:56
Boost.Coroutine で itertoolsモドキ、その2
/*
* C++11 (VisualStudio 2013 Express Edition)
* boost 1.55.0
*/
#include <iostream>
#include <string>
#include <vector>
#include <boost/coroutine/all.hpp>
@mnzk
mnzk / co_fibo.cpp
Last active August 29, 2015 13:56
Boost.Coroutineでフィボナッチ + itertoolsっぽい(?)drop
/*
* C++11 (VisualStudio 2013 Express Edition)
* boost 1.55.0
*/
#include <iostream>
#include <boost/coroutine/all.hpp>
#include <boost/range/irange.hpp>
#include <boost/multiprecision/cpp_int.hpp>
@mnzk
mnzk / tenki.clj
Last active August 29, 2015 13:56
天気予報逆引き。 (tenki.jp の http://tenki.jp/webservice/rss/ より)
;;-*- coding: utf-8 -*-
(ns tenki.core
(:require [clojure.xml :as xml]
[clojure.zip :as zip]
[clojure.data.zip.xml :refer :all]
[clojure.core.cache :as cache]))
(defn city-url
[city-id]
(->> city-id (format "http://tenki.jp/component/static_api/rss/forecast/city_%d.xml")))
@mnzk
mnzk / method_pipeline.ps1
Last active August 29, 2015 13:56
メソッドでパイプラインできた。(ただしメソッドの引数は1つに限定)
# 追加したメソッドをパイプラインで使いたい
$foo = "abc" | Add-Member ScriptMethod Repeat{
param($n)
$this * $n
} -PassThru
#Helper で対応
filter Invoke-Method($method){
$method.Invoke($_)
@mnzk
mnzk / cant_Method_pipeline.ps1
Last active August 29, 2015 13:56
メソッドでもパイプラインしたい。(できない)
# 追加したメソッドをパイプラインで使いたいが...
$foo = "abc" | Add-Member ScriptMethod Repeat{
param(
[Parameter(ValueFromPipeline=$True)]$n
)
$this * $n
} -PassThru
$foo.Repeat(5) #=> abcabcabcabcabc
@mnzk
mnzk / PowerShell_ODAC.ps1
Last active September 4, 2019 23:04
Example Of PowerShell (V3) & Oracle Data Access Components & ADO.net DbProviderFactory
#
# PowerShell (v3.0) + ODAC (and ADO.net)
#
function Load-DbProviderFactory([ScriptBlock[]]$loaders){
$fa = $loaders | foreach {
try{
(& $_)| ? {$_ -is [System.Data.Common.DbProviderFactory]}
}catch{}
} | Select -First 1
@mnzk
mnzk / fzbz.hy
Last active January 2, 2016 07:09
;; hy-lang fizzbuzz
(import [itertools [count imap]])
(import [pprint [pprint]])
(defn freq [v n]
(->> (* [""] (dec n)) (+ [v])))
(defn fizzbuzz []
(->> (imap (fn [f b n] (or (+ f b) n))