ビット演算系のイディオム。ゴルフ以外でも有用? Math.floor(i) → i|0 // iはint32の範囲内。(10) if(i!=-1) → if(~i) // ~-1 === 0 を利用。(3) (i+1)/2 → -~i/2 (i-1)/2 → ~-i/2 // 優先順位を変えて括弧を外す。 (2) +('0x'+h) → '0x'+h|0 // 16進文字列を数値にする場合。上と同様括弧が外せる。 (1)
anarchy golf*1用の書き方をいくつか。 各コメント末の括弧内は稼いだバイト数。 i=0,$=readline() → $=readline(i=0) // 引数を取らない関数に何か渡しても怒られない。(1) print(a.join(' ')) → print.apply(0,a) // printに渡した引数が空白区切りで出力されることを利用。(2) for(i=0;i<s.length;i++) → for(i=0;s[i];i++) // sは文字列もしくは中身が全てtrue相当の配列。(6) (new Date).getTime()%3 → new Date%3 //ランダムで 0,1,2 を取得したい場合。用途は言わずもがな。(12) *1:JavaScriptの処理系はSpiderMonkeyのC実装。
I'm using js2-mode for working with javascript in emacs and for the most part it's very useful. However, the indenting methods are terribly frustrating when working with jQuery, closures, and JSON... for instance, code that I wish to be indented like this: var foo = jQuery('#mycontainer ul li').each(function(el){ var bar = el.html(); }); Turns out as: var foo = jQuery('#mycontainer ul li').each(fu
2/28から3/2にかけて開催されたDEIM2010で発表してきました。 ワークショップの様子 Togetter – まとめ「DEIM2010 初日」 Togetter – まとめ「DEIM2010 2日目」 Togetter – まとめ「DEIM2010 最終日」 「データベースの授業で使いたい」というコメントを多くの方からいただいたので、そのためのマテリアルを公開します。 プレゼンスライド SELECT文を作成するためのJavaプログラム MySQLを使って数独を解くためのJavaプログラム 作成したSELECT文の例(アンダースコアを削除している。同じものが、プレゼンスライドの最後にも載っている) 論文の最終版は後で公開します。 論文:矢吹太朗, 佐久田博司. SQLによる数独の解法とクエリオプティマイザの有効性. 日本データベース学会論文誌. Vol.9, No.2, pp.13–
for(let a = 1, b = a; 0;); // NG (a is not defined) for(var a = 1, b = a; 0;); // OK let(a = 1, b = a){} // NG (a is not defined) let(a = 1, b = a) 0 // NG (a is not defined) { let a = 1, b = a } // OK (!) { var a = 1, b = a } // OK [http://www.lispworks.com/documentation/HyperSpec/Body/s_let_l.htm#let:title=let*] for-var, var, [https://developer.mozilla.org/en/New_in_javascript_1.7#Block_scope_wi
https://github.com/satyr/coco/tree/0.7.3 0.6.2 0.7.3 -> ...; void !-> ... x = !x !=x [+a, +b] +[a, b] (exports ? this).x = x export x a = b = void var a, b _ = f!; _ = g _; _.m! f! => g _ => _.m! a <<< b if a? a? <<< b {p: [q]:p} = o {[q]:p} = o p:~ -> @x p:~ (@x) -> p:~ -> @x (@x) -> https://github.com/satyr/coco/tree/0.6.2 0.5.2 0.6.2 f(a).p f a .p f() f! o{} ^o {o.p, o.q} o{p, q} {p, q} = r if
はじめに 読書会に参加していないところがあるので、そこは議事録を読みながら、なるべく自分の言葉で書いていきます! 読んだところ 175 ページ〜 222 ページ 前回はこちら Effective Java 読書会 9 日目 「Enum の拡張とアノテーション」 - IT戦記 引数の検査をきちんとして javadoc の @throws に書く IllegalArgumentException IndexOutOfBoundsException NullPointerException などは、事前に引数チェックして出す。たとえば、 OpenJDK の String(byte[], int, int, String) では、以下のような実装になっている、自分で引数チェックをして、その内容を明確に @throws に記述している。 // チェック関数 private static void c
ふと、Firefox の mouseover dictionary を使っていて似た機能が Emacs でも使いたいなと思い、作ってみました。 ポイント下にある単語の意味を辞書で引き、意味を自動でミニバッファに表示します。 インストール ファイルは、EmacsWiki に置いておきました。ダウンロードし、load-path の通ったディレクトリに置けば OK です。 http://www.emacswiki.org/emacs/sdic-inline.el 必要なものは、以下の通りです。 sdic sdic 形式に変換した辞書 popup.el (popup 表示を使用するならば) 1. は、sdic の関数を使用しているので、無ければ動きません。2. は、sdic を使っているならば、あると思うので問題無いと思います。 辞書については、自分は、英辞郎を購入して使っていますが、EDICT
JavaScriptで switch( s.match( ... ) ){ case /abcd/ : break; case /defg/ : break; } みたいに、文字列 s が複数の正規表現のどのパターンと一致するのかを switch 文でわかりやすく書く方法を考えていて、一致したパターンの見た目の分かりやすさも考えると、if の羅列しかないのかなぁと思っていたけど、こんな感じでよさそうなので、忘れないようメモ。 switch( true ){ case /abcd/.test( s ) : break; case /defg/.test( s ) : break; } switch の条件が true とかキモいけど。
gcbook, gcai, GCGCLoverのみなさん、お待たせしました。「ガベージコレクションのアルゴリズムと実装」の情報公開です。 書名:ガベージコレクションのアルゴリズムと実装 著者:中村 成洋/相川 光 監修:竹内 郁雄 ページ数:472ページ 本体価格:3,200円 発売開始日:2010年3月17日(水) ※地域・書店によって遅れることがあります ISBN:978-4-7980-2562-9 C3055 読み所 本書は次の2つのテーマを扱います。 1.GCのアルゴリズム(アルゴリズム編) 2.GCの実装(実装編) アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中 から、重要なものを厳選して紹介します。伝統的かつ基本的なものから、やや 高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特 性などを理解していただくのがアルゴリズム編の最大
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く