タグ

ブックマーク / hajimehoshi.hatenadiary.org (2)

  • require 'php' の実装解説 - 星一の日記

    require 'php' とは何か PHP の素晴らしい機能を Ruby スクリプトでも使えるようにするためのライブラリです。PHPRuby にはない「プリティーな」機能がたくさんあり、たとえば数値とそれをあらわす文字列とを等価とみなす == 演算子、未定義定数を文字列として扱ってくれるとっても「親切な」リテラルなどがあります。 今回僕が実装した require 'php' ライブラリは Ruby の基クラスの == メソッドを、PHP の == 演算子の挙動に置き換えるものです。ほかにも実装したかった PHP 的機能がいっぱいあるのですが、実装時間が 3 日のみ*1、さらに発表時間が 3 分しかないことから、今回は演算子 == だけに焦点をしぼることにしました。 おまけですが、ライブラリには echo 関数や array 関数なども実装されています。しかし実装が数行ですんでし

    require 'php' の実装解説 - 星一の日記
    Itisango
    Itisango 2009/07/20
  • スクリプト言語におけるコード圧縮の研究 - 星一の日記

    要旨 研究の目的は、るびまゴルフ第 5 回での出題に対し、より短いコードを提示することである。外部コマンドに依存するというテクニックを用いることにより、既存研究に比べコードを短くする事が可能となった (と思いたい)。 背景 現代において、コード圧縮は非常に重要な課題となっており、 (以下略) 実装 Ruby 1.8.7 を使用する。 第 1 問 13 Bytes puts`sort -u` 外部コマンドに依存しない場合 13 Bytes puts$<.map|[] 第 2 問 18 Bytes puts`cat`.split|[] 外部コマンドに依存しない場合 20 Bytes puts$<.read.split|[] 謝辞 研究にあたり、多大なる御協力をいただきました M 先輩に深く感謝いたします。

    スクリプト言語におけるコード圧縮の研究 - 星一の日記
    Itisango
    Itisango 2009/02/08
  • 1