タグ

2012年8月12日のブックマーク (4件)

  • CoffeeScriptのあまり知られていない文法 - mizchi log

    知られてない機能ってのは大抵公式リファレンスにのってない奴なんですが、結構便利なのがあるので紹介しておこうと思います。 ハッシュ値を取り出す方法 {abs, sin, cos} = Math引数値でもパターンマッチ的に使うことができる。 次のコードが $.get "/json", {}, (data) -> console.log data.a, data.b, data.cこのように書き換えられる。 $.get "/json", {}, ({a, b, c}) -> console.log a, b, cすべてのオブジェクトがハッシュで表現されるJS、その拡張ならではの略記ですね なお、展開後の変数にデフォルト引数は付けられなかったです。残念。 引数オブジェクト展開 arguments... で引数オブジェクトを展開することができます。 f = -> console.log argume

    CoffeeScriptのあまり知られていない文法 - mizchi log
    sucrose
    sucrose 2012/08/12
  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
    sucrose
    sucrose 2012/08/12
  • Groovyを勉強するときの手順 - うさぎ組

    なんかプログラミング言語ならどれでも一緒だと思うんだけど、Groovyやるならこうするのがいい。と思ったので。 コードを書くとき Dumpを使う いま使いたい変数にどんなものが入っているのかわからない。型がなにでどんなメソッドやフィールドを持っているのか。 そんなときはprintln hoge.dump() をする。 [k1:10, k2:30].each{ println it.dump() } みたいな。 実行するとこんな出力になる。 Assertを使う dumpと似ているけど、メソッドチェーンになっているときに、どこでどんな値が返ってきているかを確認するのによい。 assert [k1:10, k2:300, a1:100, a2:20].collectEntries {k,v -> [(v):k]}.groupBy {k,v -> v.startsWith "a"}[true] =

    sucrose
    sucrose 2012/08/12
  • TechCrunch | Startup and Technology News

    Live Nation says its Ticketmaster subsidiary was hacked. A hacker claims to be selling 560 million customer records. An autonomous pod. A solid-state battery-powered sports car. An electric pickup truck. A convertible grand tourer EV with up to 600 miles of range. A “fully connected mobility device” for young urban innovators to be built by Foxconn and priced under $30,000. The next Popemobile. Ov

    TechCrunch | Startup and Technology News
    sucrose
    sucrose 2012/08/12