2015-01-01から1年間の記事一覧

10/18は大宰府で特別受験合格祈願大祭

学問の神様である,菅原道真公が若くして文章博士に任じられた日,ということだそうです.縁あって,道真公とお話ができたので,記して道真公へ感謝いたしましょう. 10月18日に特別受験合格祈願大祭ではエネルギー使う 受験合格・学業上達祈願の神様とはい…

データ構造の変換に畳み込み関数

関数型言語で非常に重要なfold(あるいはreduce,inject)を使うと初期化あり変数宣言を削除できるたとえば,二次元配列を一次元にするflattenをJavaScriptで var ret = []; aList.forEach(function(e, i, arr){ arr.push.call(ret, e); }); // これが var ret…

規定数のリトライ成功失敗における反復「式」の効用

Rubyでは反復は文でなく式である.そのため,途中で中断した場合,反復式として戻り値を持てる.すると,規定数のリトライ処理を,成功した場合と失敗した場合で,論理的に整合するよううまく記述できる.ネットワーク越しのデータ取得は,必ずしも成功せず…

置換の選択肢

Rubyでは文字列置換にはいくつも選択肢がある. #{}で式評価 % 記法でハッシュ渡し String.gsub()でハッシュ渡し Kernel#format() Kernel#sprintf() どう使い分ければいいのだろう?というのは,HTMLでのマークアップにはダブルクォーテーションがあるため,…

数値の通貨フォーマットに正規表現で置換

Number#to_currency('JPY')とかあればいいのかしら.ひとまず, String(vals['price']).replace(/(?:^|[^.])(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); vals['price'].to_s.gsub(/(?:^|[^.])(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") (?=,(?!は先読み.

Rubyで埋め込みシェルスクリプティングjcat

シェルスクリプトは強力である.しかし,痒いところに手が届かない.まとめて処理しようと思ったらプロセス数上限に到達したりとか.OSにとってプロセスの生成コストは高いのである.そこで,Rubyにシェルスクリプトのラッピングを施す. 具体的には,個別に…

JavaScriptで文字列書式付き出力

JavaScriptには,書式付きで文字列を生成してくれる関数がない.CでいうsprintfやJavaでいうformatのようなもの.これがないせいで,HTMLのマークアップ文字列に値を埋め込むのがめんどくさいこと限りなし.ということで,Stringクラスを拡張. if (!String.…

C#でJSON

C#

C#でJSONを扱うには,幾つか選択肢があるようだ. http://www2.hatenadiary.jp/entry/2013/12/14/030112 のサマリです.そもそも大本のJSON仕様はhttp://www.json.org/で. .NET Framework Json.NET http://www.newtonsoft.com/json Json.NET/デシリアライズ…

日報ファイルをリネームしているのでござるよ,手動で.だから自動化.

コピー F2 前日の日付を付与 保存 していたので,xyzzyでさくっとは行かないまでも,revision-up.2.5hもかかってしまった.単なる保存がC-x C-wなので,C-x wに割り当て.ファイル名の先頭に前日日付を挿入します. ; C-x wに割り当て (global-set-key '(#\…