Ruby
FizzBuzz問題というのをやったことが無かったので、Rubyでやってみた。「ある整数がある整数で割り切れるか?」という部分を抽象化すると、少し汎用的になってよいかと思った。 class Integer def dividable?(n) self % n == 0 end end (1..100).each do |n|…
最近ちょっとしたORMを書いていて、SQLのプレースホルダに「紐付ける値」をなんと命名したらよいか悩んでいたのだけど、こういう定石的な命名は、自分でウンウン悩むよりフレームワークのAPIを参照するのが早いと思ったRubyのORMをざっと調べてみたところ、…
PHPを愛する試みというのを個人的にやっている。最近仕事でPHPをガリガリ使わなければならない状況になってしまった。そのため可及的速やかにPHPを愛する必要がある。 tap ときに、Rubyにはtapという素敵なメソッドがある。tapかわいいよtapPHPでも$obj->tap…
配列の追加・取り出しに関する4つのメソッド(unshift, shift, pop, push)がいつも混乱するので絵で整理した。絵にすれば覚えられそう!いちお練習のため、自分がよく使うRuby, PHP, JavaScriptでコードも書いた。・いずれの言語においても上記4つのメソッ…
ちょっとしたファイルを作成・保存しておきたい時、自分にとっては「今日の日付のディレクトリ」にまとめておくのが丁度よい。これまでは毎日手作業で「今日の日付のディレクトリ」を作成・移動していたのだけど、これを毎回やるのが面倒臭い。ということで…
僕はRubyが好きだ。プライベートではRubyばっかり使っている。でも、仕事ではPHPを使わなければならない。これまでPHPは書きにくいーと思い込んでいてあまり好きではなかったのだけど、仕事で使う以上PHPを好きになった方がきっと幸せになれる。何かを好きに…
少し前に仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというRubyスクリプトを書いたのだが、スクレイピング対象サイトをハッシュで持ってるあたりが使いづらい。良い機会なので内部DSLってのに挑戦してみた。しかし、内部DSLに…
先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、ruby…
情報収集はビジネスマンとしての基本である。しかし普段シェルで作業する者としては、毎回ブラウザを立ち上げる時間すら不毛である。よって、シェルから一瞬で情報収集できるRubyのワンライナーを書いた。 上からYahoo, はてな, Naverまとめ, 2ちゃん $ ruby…
Railsで使われているRackとERB。いつもRailsにお任せだから、たまにはRailsの皮をはいで生で触ってみたい!ということで、超基本的な部分(通常表示, リダイレクト, not found)だけいじったのでメモ。・/にアクセスすると、/hogeにリダイレクトされる ・/ho…
先日のエントリでRubyの多重代入についてふれたのだが、教科書によってto_aryが呼ばれると書いてあったりto_aが呼ばれると書いてあったりで、なにが本当なのか分からなくなった。 回答らしきもの 調べてみたら、こちらに回答らしきものがあった。 OK, to_a m…
環境:ruby-1.9.2、rack-1.4.1RAILSCASTのRackの章を見ていたら、以下のような構文が出てきて、不思議に思った。 def call(env) Rack::Response.new("hoge") end Rackアプリの呼び出し側(例えば、lintミドルウェア)では、このように書かれている status, h…
RailsなどのRubyライブラリのソースコードを見ていると、よく File.expand_path('相対パス', __FILE__) という一文を目にする。ちょっと調べてみた。 File.expand_pathとは riコマンドで調べてみる $ ri File.expand_path (from ruby core) ----------------…
備忘のためメモ。必要に応じて編集予定。 ヘルプ $ rbenv -h主要コマンドの説明はこれで 特定のrbenvコマンドのヘルプを表示 $ rbenv help <コマンド> 現在のRubyバージョンを表示 $ rbenv version rbenvが管理している全てのRubyバージョンを表示 $ rbenv v…
元ネタ ゆーすけべー先生が先日、以下のような誰得スクリプトを書いておられました。Facebookのポスト内容をWebアプリケーションとして実行する - ゆーすけべー日記まじ誰得w しかしよく見てみると勉強になる要素満載で、Rubyで書いたらOAuthとRackの勉強に…
Rubyで「文字列から正規表現にマッチする部分だけぶっこ抜く」ってのをやろうとしてこんな風に書いたのだけど、もっとシンプルに書けるはずだったので復習。 str = 'http://instagram.com/p/hoge/' #hogeを抜き出したい m = str.match(/http:\/\/instagram.c…
Rubyライブラリのソースコードを読んでいると、よく class ↓こんなの class C class << self def foo puts 'foo' end end end C.foo #foo
Rubyの軽量フレームワークSinatraのソースコードがイケテルらしいので、がんばって読む事にしました。
備忘メモ
前提 ruby 1.9.2 やりたいこと 文字列を日時に変換(空ならnilにする) しかし、文字列はどのような形式で来るか分からない 方法 標準ライブラリのdateを使う まずDateTime.parse()し、それで処理しきれなければDateTime.strptime() それでだめなら、nil req…