Ruby

rubyの中から実行したシェルコマンドを途中で止める

OSXで5GBの適当なファイルを作るとすると、以下のようにしてやることが出来る $ mkfile 5g test.tmp これをrubyなどのスクリプトから実行すると、以下のようにすることが出来る。 `mkfile 5g test.tmp` これを実行するとrubyのプロセスにフォークしてシェル…

個人用Railsプロジェクトの.gitignoreテンプレート

/log /tmp config/database.yml database.ymlは各々の環境によって違うので、config/database.yml.sampleみたいなのにある程度の設定書いといて、運用でカバー的なことをする。 gistにメモっといたが、検索が終っているのでこっちにも書く。

任意の要素数の集合から重複を許さない配列を作る。もしくは.injectやら.reduceなどの使いどころ

前回のエントリで、途中でこんな感じでset型っぽいArrayを作った(共通部分取り出し的な感じ) こんな感じ def screen_name_sets(*args) id_lists = args.map do |usr_name| ids = client.follower_ids(usr_name) id_lists << ids.attrs.values.first end #こ…

特定のTwitterアカウントA,Bに対して重複ユーザを洗い出す オフラインで知っている人 けど、Twitter垢は知らない 多少調べると他のサービスのアカウントは出てくる 以上のような人のTwitter垢を調べるために、ある程度興味や現実で話したことをキーに探って…

Sublime Textで、RubyとPythonのインデント幅をそれぞれ対応させる

RubyはRailsの影響かなんか知らないけど、インデントがスペース2個 それに対して、Pythonはスペース4個分である。 一応両方の言語触るけど、どちらかというと、RubyよりなのでSublimeのデフォルト設定はスペース2個分で設定している。具体的には以下みたいな…

pryでrequireしたgemのVersionを確認する && Resqueの話

Resqueの最新版を調査していた所、新しいResqueのVersionで使えるはずの記法(Resqueをクラスメソッドじゃなくて、インスタンス生成する)が使えず、妙に変だな〜という話になった。 requireしているGemのVersionを確認するには、以下のようにして確認できる […

2chのスレッド内のレスを取得する

2chの各々のスレッドのエンコードは、Shift-JISなので一回Shift-JISに直してから、データを取り扱ってやる。必要なところでutf-8になおしてやる。 だいたい以下のような感じ。 require 'nokogiri' require 'open-uri' def get_res_params(thread_url) res = …

RubyとPythonに於いてのカリー化

要するに複数引数ある途中まで実行して残りの関数を返す。 何を言ってるか分からないのでは感があるけど以下みたいな感じ。 rubyの場合 Procを使う fn = Proc.new{|x, y| x * y} result = fn.curry.(3) result(2) #=>6 result(3) #=>9 result(4) #=>12 Pytho…

ほげほげEval

Gemを読むとほげほげeval使ってるのが結構出てくるので、どういうことなのか気になっていた。 class_eval 後からクラス変数を操作出来る。 class HogeClass end HogeClass.instance_variable_get :@value #=>nil v = 1 HogeClass.class_eval do @value = v e…

Arrayに対するmapっぽくHashをすっきりと返す

一行くらいですっきりとHashを返すようにしたいね、という話。 Arrayの各要素に何かをして返したい時 ret = [1, 2, 3].map |num| num * 3 end p ret #=> [3, 6, 9] - Arrayの各要素を元にしてHashを要素にしたArrayを返したい時 ret = [1, 2, 3].map |num| k…

feedbinをOSXで動かしてみようと思ったらPostgreSQLの設定で若干ハマった

WebベースのRSSリーダー「Feedbin」がオープンソース化される http://sourceforge.jp/magazine/13/08/28/134000 気になっていたので、ローカルでビルド出来ないかなーと思い、動かしてみる。 インストールガイド Feedbin Installation on Mac OS X Mountain …