現在のカーソル行の文字列を取得するには getline('.') とすればよく,さらに現在のカーソル列は col('.') で取得することができる*1ので echo getline('.')[col('.')-1] とすればカーソル位置の文字が表示される. というのはシングルバイト文字の場合でし…
こんなもの書きました.きっと俺しか得しないと思う. http://eagletmt.appspot.com/brainfuck/index.html Javascript しか使ってないので GAE 上に置くこともないのですが,他に適当な置き場所も持ってないのでとりあえず. これは何 おそらく最も有名な難…
a{ とか i{ によって対応する {} を選択することはできる*1けど,カーソル位置の if/else 全体を選択したいときがたまにあるので. 実装方法に悩んだけど,結局カーソル位置から前方に { を探していき,それが if/else によるものの場合はそこで止まって,そ…
http://acm.pku.edu.cn/JudgeOnline/problem?id=1376 概要 直径 1.6 メートルのロボットがグリッドの交点上を動く.グリッド 1 マスの一辺は 1 メートル. 障害物に触れてはいけない. ロボットは 左に 90 度回転 右に 90 度回転 前に 1 マス進む 前に 2 マ…
こんなかんじに使う. % echo 'length x' | ./hint [a] % echo 'x + 1' | ./hint (GHC.Num.Num a) => a % echo 'foldl x 0 [2,3]' | ./hint (GHC.Num.Num a, GHC.Num.Num b) => a -> b -> a % echo 'nub x' | ./hint Data.List (GHC.Classes.Eq a) => [a]元…
なんか最近 Vimperator のことばかり書いてますね… たまに欲しくなるので bang をトグルするキーマップを定義してみた. 例えば :mr hoogle map とかした後,やっぱり個別のページで見たいなと思って すると :mr! hoogle map に切り替わる. bang がついてい…
このポストで気付いた. http://twitter.com/YarmUI/status/13397162500 今まではここにまとめてあるように,各 event に対して id しか渡されていなかった. http://ssig33.com/blog/2010-04-25-1.html しかし,手元のログだとちょうど今日5月5日の5時くら…
Firefox のアクセスキーの設定は ui.key.generalAccessKey ui.key.chromeAccess ui.key.contentAccess で行うことができ,chromeAccess は chrome の要素に,contentAccess はページコンテンツの要素に使われるアクセスキーを指定する. generalAccessKey が…
YouTube の UI が変わり,これが早速動かなくなってました… http://d.hatena.ne.jp/eagletmt/20100322/1269225540 yt がなくなってしまったけど,flashvars を見ればよさそう. それと,g:yt_save_dir が設定されていなかったときの保存先を Firefox の設定…
http://chrisdone.com/posts/2010-04-05-haskell-json-service-tryhaskell.html Try Haskell が eval する API を提供するようになったようなので,適当に Vimperator のコマンドを書いてみた. :hseval take 10 $ scanl1 (*) [1..]とすると [1,2,6,24,120,7…
~/.vim/plugin とかに入れて,例えば nmap <Leader>eu <Plug>encodeURIComponent vmap <Leader>eu <Plug>encodeURIComponent nmap <Leader>du <Plug>decodeURIComponent vmap <Leader>du <Plug>decodeURIComponent nmap <Leader>ej <Plug>encodeJSString vmap <Leader>ej <Plug>encodeJSString nmap <Leader>dj <Plug>decodeJSString …</plug></leader></plug></leader></plug></leader></plug></leader></plug></leader></plug></leader></plug></leader>
IncoherentInstances よくわかりません {-# LANGUAGE MultiParamTypeClasses , FunctionalDependencies , TypeFamilies , FlexibleInstances , ScopedTypeVariables , EmptyDataDecls , UndecidableInstances , IncoherentInstances #-} data Z data S a cla…
まぁ http://userscripts.org/scripts/show/25105 の Vimperator コマンド版のようなものです. let g:yt_save_dir = '~/Downloads' などと設定しておいくと,:ytdownload でそのディレクトリに今開いている動画を保存できる. オプションとして -fmt (省略…
今まではこのように毎回 bmark するようにしていた. silent bmark -title='Google' -tags=vimp -keyword=gs http://www.google.com/search?q=%s silent bmark -title='Google Images' -tags=vimp -keyword=gi http://images.google.com/images?q=%s silent …
頻度別にまとめ+ちょっと紹介. 頻繁に使っているもの FuzzyFinder http://www.vim.org/scripts/script.php?script_id=1984 あいまいにバッファ,ファイル等を検索して,それを現在のバッファに開いたり新しいタブに開いたりできるプラグイン. Vim をずっと…
http://acm.pku.edu.cn/JudgeOnline/problem?id=3255 重み付きグラフが与えられて,2番目にコストが小さい経路のコストを出力する問題. 1番コストが小さいものなら普通のダイクストラ法でいいのだが,今回は2番目なので各頂点に対して2番目までのコストを覚…
フィードが見つからなかったときに Page2Feed のプレビューに遷移するようにしてみた subscldr.js の特徴である「ページ遷移なしで」を破るものなので微妙. しかしプレビューを見ずに Page2Feed で登録するはもっと微妙だと思ったのでこうした. diff --git…
つまりはクロージャが欲しい. C言語の場合は GCC 拡張でこれを実現できる. http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html #include <stdio.h> int main(void) { int x = 0; void f(void) { x++; } f(); printf("%d\n", x); return 0; } C++ の場合は C+</stdio.h>…
http://acm.pku.edu.cn/JudgeOnline/problem?id=3615 N 個の駅があり,M 本の一方通行の道が繋いでいて,それぞれの道には高さ H_i のハードルがあるとする. 駅 A_i から駅 B_i まで行くとき,途中で越えなければならないハードルの最大の高さの最小値を出…
微妙に間違っていたので修正. それとはてなに書くには若干大きいと思ったので gist にコードを移した. http://gist.github.com/320402 bookmark_user にもコマンド用意したほうがいいかな…
これを入れると liberator.plugins.pixiv に bookmark_illust, bookmark_user が追加され,pixivBookmark コマンドが定義されます. :pixivBookmark は引数をタグと解釈して,今開いているイラストをブックマークに追加するコマンド.bookmark_illust のほう…
http://acm.pku.edu.cn/JudgeOnline/problem?id=2591 次のように定められた集合 S の N 番目(昇順)の要素を出力する問題. 1 は S の要素である x が S の要素ならば,2x + 1 と 3x + 1 も S の要素である その他は S の要素でない N の上限が 10000000 なの…
http://acm.pku.edu.cn/JudgeOnline/problem?id=3014 整数 n, m (1 ≦ n, m ≦ 4500) が与えられて,m を n 個の整数の和に何通りに分割できるか答える問題. ただし答えは非常に大きくなりうるので,答えを 1000000007 で割った余りを出力する. DP で解いた…
なんかふと思いついたので書いてみた. http://gist.github.com/306554 insert, delete, lookup はできるけど,空間計算量も時間計算量も悪い上に key, value の列挙もできない Map のような何か.
Haskell には Data.Function に on という関数が用意されている. http://haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/Data-Function.html#v:on 関数 f, g から \x y -> f (g x) (g y) という関数を作る関数だ. これが地味に便利な場面があり…
http://d.hatena.ne.jp/smly/20090719/1247974225 とりあえずはこれと同様のものを Vim script で書いた.http://github.com/eagletmt/poj-vim適当なディレクトリに置いて runtimepath を通して使ってください. .vimrc の設定例 set runtimepath+=~/.vim/po…
とりあえず fundeps で自然数編.続きはあるんですか? まず,おまじないとして {-# LANGUAGE FunctionalDependencies, MultiParamTypeClasses, UndecidableInstances, FlexibleInstances, EmptyDataDecls, ScopedTypeVariables #-} あたりが要る. 自然数の…
元ネタ http://twitter.com/keigoi/status/7828062396 http://okmij.org/ftp/Haskell/PeanoArithm.lhs ようするにこの Inv は何をやっているのかというと,init から limit まで x をイテレートして,x と a に関数 clas を適用したの値と b が等しくなるよ…
http://d.hatena.ne.jp/sakura-1/20100113 このへん見てたしかにこういうのがあると役立つなぁと思ったので. まず始めに,Haskell で文字列を扱う場合は主に String を使い,これは Char のリストになっている. もっと効率的に文字列を扱いたい場合には By…
あけましておめでとうございます. 2009年は Twitter と Haskell にかなりはまった年でした. 今年はまずはアルゴリズムやもっと基礎的な数学の勉強とかを進めていけたらなぁと思います.