タグ

*rubyと*javascriptに関するgan2のブックマーク (7)

  • Javascript から見る Ruby のイテレータ - Enumerable

    JavaScript のクロージャ と オブジェクト指向 」のつづき Ruby の Enumerable Ruby ではコンテナの役割を持つクラスに Enumerable モジュールをインクルードし、その要素を順にブロックに与えるメソッド each を定義することにより、要素に対する便利なメソッドがいくつか使えるようになる。 例えば、「人」は `名前' と `年齢' を属性として持ち、 「グループ」 に所属しているとする。 Ruby のイテレータ (2) - Enumerable より # 人 class Person attr_reader :name, :age def initialize(name, age) @name, @age = name, age end def to_s @name + " " + @age.to_s end end # グループ class Grou

    gan2
    gan2 2010/12/27
    おもしろかった.yield 最初はほんとに全然分からなかった
  • HotRubyがC Rubyより速い本当の理由は? - monthly gimite

    JavaScriptが速くて、Rubyが遅い理由というエントリがあったのですが、コメントやトラックバック、追記などを読むと 実用上HotRubyがC Rubyより速いというわけではまったくない プリミティブ型の有無が原因という話はどうやら間違い のようです。 とはいえ「↓のベンチマークでHotRubyがC Rubyより速い」というのは事実です。これがなぜなのかちょっと気になったので考えてみました。 startTime = Time.new.to_f sum = "" 50000.times{|e| sum += e.to_s} endTime = Time.new.to_f puts (endTime - startTime).to_s + ' sec' これについてはRubyが遅いのは当にBoxingのせいか?が参考になります。まず、C Rubyではベンチマークの += を << に書

    HotRubyがC Rubyより速い本当の理由は? - monthly gimite
  • yukobaのブログ

    yukobaのブログ

  • JavaScriptでカリー化 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JavaScriptでカリー化。ありがち、つうか実際にあるでしょうね。小ネタと思ってやりはじめたら、意外と混乱した。一種のメタプログラミングのはずだが、実際にはテキスト加工処理。 内容: カリー化ってなに? カリー化を行う関数を作る:準備 カリー化を行う関数を作る:テキストのパッチワーク カリー化を行う関数を作る:組み立て ●カリー化ってなに? 2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること -- ゴチャゴチャ説明するより実例実例: functio sum(x, y) { return x + y; } このsumのカリー化の例: function curried_sum(x) { return function (y) {return sum(x, y);} } curreid_sum関数は1引数で、戻り値として関数

    JavaScriptでカリー化 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    gan2
    gan2 2008/04/19
    「2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること」 / カリー化ってそういうことかぁ
  • Javascript で実装した Ruby インタプリタ JSRuby 0.1 リリースしました。 (nakatani @ cybozu labs)

    « MyMiniCity 日語化 | メイン | JSRuby から jQuery を使う ( Javascript 連携 ) » Javascript で実装した Ruby インタプリタ JSRuby 0.1 リリースしました。 あけましておめでとうございます。 1月からサイボウズ・ラボのオフィスが引っ越しました。新年から気分も新しくぶりぶり仕事します。よろしくです。 というわけでちょっとずつ作っていました Javascript で実装した Ruby インタプリタの "JSRuby" を一区切り付けるべくバージョン番号を付けてリリースしました。 JSRuby Project Page (CodeRepos) http://coderepos.org/share/wiki/JSRuby JSRuby Test Page https://labs.cybozu.co.jp/blog/nak

    gan2
    gan2 2008/01/14
    なっなんだってーっ!?て思った
  • [動画]RubyがLispから継承したもの、してないもの ― @IT情報マネジメント

    Rubyらしさ Rubyには“Rubyらしさ”というものがありそうだ、と角谷氏は言う。プログラマとしてRuby on Railsでプログラムを書いているまさにその時に、彼はその“Rubyらしさ”というものを感じると話す。いわく、「使う人を信頼している感覚」「Rubyにあるよさ、楽しさというものは(フレームワークである)Ruby on Railsにも受け継がれている」。さらに、Rubyのデザイナであるまつもと氏の考えを、Rubyでプログラムを書く人は継承するのでは、とも指摘する。 それを受けてまつもと氏は、Rubyに備わっている特徴の多くは、もともとLispにあったものであると話す。LispからRubyへの影響は小さなものではない。平鍋氏も、Rubyは「普通に(プログラムを)書こうと思ったら書ける」言語だとその特徴を賞賛する。 動画撮影:「歌頭 孝之」

    [動画]RubyがLispから継承したもの、してないもの ― @IT情報マネジメント
    gan2
    gan2 2007/07/03
    Lispの特徴のうち、表現のしやすさはRubyの方が多く継承している。しかし、言語の中身をいじれるという特徴はPythonやJavaScriptの方が多く継承している。
  • リアルタイムなチャット (2) - まちゅダイアリー (2006-04-11)

    2006-04-11 興味があったので、先日の日記に書いた AJA Chat のソースを読んでみた。 基構造 index.cgi / typing.cgi: ログイン画面およびチャット画面を表示する。特に処理はやっていない。 serv.cgi: XMLHttpRequest() からの接続を受けつける。発言が更新されたらレスポンスを返す。30秒以内に発言が更新されなければ(write.cgiからシグナルがこなければ)タイムアウトとする。 write.cgi: XMLHttpRequest() 経由で発言を受信する。受信したら serv.cgi へシグナルを送る。 index.cgi 処理順にソースを眺めていく。 25 u = @cgi['u'].to_s 26 if (u == '') 27 print %Q( 28 </head> 29 <body> # 以下ログイン画面の HTML

    リアルタイムなチャット (2) - まちゅダイアリー (2006-04-11)
  • 1