タグ

ブックマーク / blog.sushi.money (5)

  • 編集距離が近いメソッドを勝手に呼ぶ - hitode909の日記

    メソッド名を打ち間違えてメソッドを呼べないことがあって寂しかったので,呼ぼうとしたメソッドがないときは編集距離が近いメソッドを勝手に呼ぶのを作ってみた. module AutoCall def method_missing(method, *args) __send__(find_nearest_method(method), *args) end private def find_nearest_method(method) methods.sort_by{ |my_method| levenshtein_distance(my_method, method) }.first end # http://d.hatena.ne.jp/kenkitii/20090204/ruby_levenshtein_distance def levenshtein_distance(str1, str2

    TOKOROTEN
    TOKOROTEN 2014/01/30
  • タイポ探すやつ - hitode909の日記

    これまでは1ファイルに出てくるシンボルを色付けしてた 仕様を変えて,grepして一度も出ないシンボルを色付けするようにしてみた → highlight when not found from cache · 73a2c0f · hitode909/emacs-highlight-unique-symbol · GitHub 既存のリポジトリにタイポがあることはまれで,書いてるときに間違う,という場合のほうが多いだろうと思ったため しばらく使ってみて様子を見てみる,前のほうがよかったら戻すかもしれない このリビジョンで使うと前と同じ挙動でちょっと高速化した版を使える → ignore binary files, don't treat as a regexp, no color · c7eba8e · hitode909/emacs-highlight-unique-symbol · Git

    タイポ探すやつ - hitode909の日記
    TOKOROTEN
    TOKOROTEN 2013/06/20
  • Emacsで1ファイルにしか出現していないシンボルをハイライトするやつ - hitode909の日記

    前書き 革新的ソフトウェアを作った. 背景 近年,Eclipseやflymakeなど,ソースコード中のエラーを発見するツールの開発が進んでいる PerlRubyのような言語では静的コード解析が難しく,メソッド名の間違いを実行時にしか発見できないことがあり,頻繁にテストを実行することなどで補っている 提案手法 リポジトリ内で1ファイルにしか出現しない色付けする シンボルの出現について ソースコード中のシンボルは他のファイルにも登場する場合が多い. たとえば,あるファイルで宣言されたメソッドを他のファイルから呼ぶと,そのメソッドは2箇所から出現する. 以下の例では,helloというシンボルはファイル1と2の両方に出現している. # file1 def hello puts "Hello, World!" end # file2 require './file1' hello() 以下の例では

    TOKOROTEN
    TOKOROTEN 2013/06/20
  • 機械と協調作業で文章を作る - hitode909の日記

    文章を書くのがしんどいので,機械と協調作業で文章を作れるようにした. 最初に一文くらい書くと,続きを書いてくれる. 機械が書いてる途中に,言い回しが気に入らないのが出てきたときは,割り込んで書いたり消したりできる. しばらく書かないとまた機械が書き始める. 生成の情報源は上のテキストエリアに貼る,n-gramのnはスライドバーで選べる. マルコフ連鎖が出すのを途中で止めて直したりできるのが面白いと思って作ってみた.おもしろい気がする. テキストジェネレーター

    機械と協調作業で文章を作る - hitode909の日記
    TOKOROTEN
    TOKOROTEN 2011/10/16
  • Google IME SKK サーバー 作った - hitode909の日記

    Google CGI API for Japanese Input*1を使って変換するSKKサーバーを作った. Googleのサーバーが高性能なので,通常のSKK辞書ではできないような変換ができる.以下は例. 手元の辞書にないが世の中にはあるような言葉を変換できる. 意味不明な言葉でも適当に変換できる. 一文まとめて変換できる. インストール gemになってるので,gem installでインストールできる.依存ライブラリは特にないはず. % gem install google-ime-skk追記,Ruby1.8ではgem install jsonする必要があった,Ruby1.9では不要. 実行 google-ime-skkという実行ファイルができるので実行するとサーバーが起動する. % google-ime-skk 設定 AquaSKKでは,skkserv辞書として追加する.デフォルト

    TOKOROTEN
    TOKOROTEN 2011/04/21
  • 1