Ruby

Emacs LispとRubyを使ってGoogle Chromeを操作する

私は以前までブラウザはFirefoxを使っていましたが、Firefox4でMacでFlashが見れなくなったり、Firefox5でタブを切り替えても表示が切り替わらない(この現象は検索してもヒットしないので自分の環境だけの可能性有り)といった不具合があってから、メインのブ…

Rubyメソッドのアラウンドエイリアスについて

Rubyで末尾再帰最適化をする。を読んで思ったこと。 このエントリやメタプログラミングRubyでメソッドのアラウンドエイリアスを定義する際に、古いメソッドに別名をつけてから新しいメソッドを定義しています。以下はメタプログラミングRubyの例。 class Str…

PythonとRubyの変数のスコープのまとめ

僕が普段使用するPythonとRubyの変数のスコープについてまとめてみました。 Python 1. if文やfor文などの制御構造はスコープを作らない。 次のプログラムでは、if文の内側と外側のスコープは共通なので、if文内でaが上書きされてa=1が出力されます。 a = 0 i…

Emacs LispとRubyとmozreplを使ってFirefoxを操作する

今回は、Emacs LispとRubyとmozreplを使ってEmacsからFirefoxを操作する方法を紹介したいと思います。 mozreplとは mozreplとはFirefoxのアドオンの一つで、Firefoxをtelnetサーバーにしてしまうというものです。このアドオンを導入することで、ターミナルや…

PythonでRubyのStruct風の構造体を実現する

Rubyでは,Structクラスを用いることによって,特定のフィールドを持つクラスを簡単に作成することができます。 Foo = Struct.new("Foo", "foo", "bar") f = Foo.new(1, 2) p f.foo # 1 p f.bar # 2 一方、Pythonの場合、namedtupleというライブラリで同様の…

sshのポートフォワードを使ってエリア外からradikoを録音するプログラム

sshのポートフォワード機能を使ってエリア外からradikoを録音するRubyプログラムを作成しました。(何番煎じかわかりませんが) 一応Rubyのsshライブラリの使い方のサンプルにもなってます。 begin require "net/ssh" rescue LoadError require "rubygems" req…