ちなみに

火曜日の空は僕を押しつぶした。

ruby

新着順 人気順

Merbでdm-*がnot foundな件

Merb関連のエントリを読んでいたら触ってみたくなったので、入れてみたのですが・・・ $ sudo gem install merb $ merb-gen app myapp $ cd myapp $ merb Loading init file from /Users/tomohiro/program/merb/myapp/config/init.rb Loading /Users/tomohir…

多段特異クラス

class Class def super_metaclass(level = 1) class_eval <<-EOS #{"class << self\n" * level} self #{"\nend" * level} EOS end end p Object.super_metaclass(100) #=> #

今更、Hpricot

動機 バイトの勤務スケジュールをiCalに入れるのに自分の勤務日と時間だけの一覧が欲しかった。 インストール # sudo gem install hpricot 簡単な使い方 require 'rubygems' require 'hpricot' doc = Hpricot('<a href=\'hoge\'>piyo</a>') puts (doc/:a).inner_html #=> piyo 参…

Re: Enumerable#mins_by

http://ujihisa.nowa.jp/entry/67a15ef440 Experiment require 'benchmark' module Enumerable def my_mins_by(&block) min = min_by(&block) select {|e| e == min } end def uj_mins_by(&b) memo = [] memo_value = 1/0.0 each do |e| value = yield e if …

vimからRefeをひく

refe.vim導入しました。以下記録。 Refeの導入 RubyGemsからインストールします。 # sudo gem install refeしかしこのままだとUTF-8を使っているとで化けるので修正します。refeのutf-8化 - 適当日記 - 断片部を参考にしつつもすでにrequireしてるNKFを使い…

今更、ライフゲーム

ハチロク世代の話題にあがったと聞いたのでワンテンポ遅れて、どう書く?.orgのお題をやってみた。life_game.rb #! /usr/bin/env ruby class LifeGame VERSION = "0.0.3" DEFAULT_BOARD = [ [0, 1, 0, 0, 0, 0, 1, 1, 1, 0,], [0, 0, 0, 0, 1, 0, 0, 1, 1, 0…

Stack Stock Books: MumbleReader

Stack Stock Books専用つぶやきリーダ。 Cursesでの日本語表示を一旦あきらめて(utf-8が駄目なのかな)、標準出力で書き直してみました。 しかし、STDIN.getcでキー入力してるのでまったくインタラクティブ性を感じません。 Webで眺めた方が速い気がします…

RubyGems 1.2.0 released!

gem updateで入るようになったみたいなのであげてみた。 install時の動作とかが早くなっているみたい。 $ sudo gem update --system $ gem --version 1.2.0(追記:サーチも超早い!すばらしい!)

列挙型クラスを書いてみた

Rubyで列挙型っぽいことをしたい場合は、定数とかシンボルを使うのだと思うのだけれど、もっと列挙型っぽく扱いたかったので、練習もかねて書いてみた。しかし、実用性無視なので普通に定数とか使った方がいい気がする。 class Enumeration def initialize(*…

ClassMethodsかModuleMethodsか

まずは、下のコードを見てください。 module Foo module ClassMethods [メソッド定義] end extend ClassMethods end 違和感を感じませんか? 僕は感じます。Moduleにextendするのに、何故ClassMethodsなのでしょうか?どう考えてもModuleMethodsだと思うのだ…

class_evalとsendのコスト

(修正) 何故かinstance_evalとclass_evalを間違っていたclass_evalとsendはどちらの方がコストが高いのか気になったのでベンチマークを取ってみた。 require 'benchmark' module Foo def self.included(base) base.extend ClassMethods end module ClassMeth…

Re: ちょっと前のRubyはとても遅かった

ちょうど倍くらい。これはすごいなぁ。 nowa サービス終了のお知らせ 気になるので僕も試してみた。 $ ruby --version ruby 1.8.7 (2008-05-31 patchlevel 0) [i686-darwin9.2.2]これはひどい。 $ time rake spec INTEGRATION=true (in /Users/tomohiro/al-l…

Ruby / Ruby on Rails のつまずきポイントを募集しています

Rubyをゼロからやる人が難しいと感じるポイントってどこなんだろ。— OK Goo (feat. Red Tape Ghost) (@tomohi_ro) 2021年11月23日 Ruby / Ruby on Rails のお困りエピソードお待ちしてます。— OK Goo (feat. Red Tape Ghost) (@tomohi_ro) 2021年11月23日 さ…

久しぶりに Gem を作った

github.com リハビリも兼ねてちょっと欲しかった Gem を作ってみました。 作り始める前に調べていたつもりだったのだけれど モロかぶりしているGem がすでに存在して名前もまったく一緒だったので諦めて simple みたいな無意味な名前になってしまった。 やり…

Ruby 2.7系に上げる話

入社して最初のころにやったのがRuby 2.6系で動いているRuby on Railsのサービスを2.7.2まで上げる仕事だった。 機能開発に入れるほど慣れてなくて、チームにがっつり入るより独立して動いた方がいい、かつ、サービス全体を見渡すのにちょうど良い感じのタス…

RubyGems.orgから検索するAlfred Workflow

macOSのランチャーとして Quicksilver が滅びて1から Alfred をずっと使っていて、Workflowも自分用の小さいのを書いたりしてべんりに暮らしている。 meta::cpan から検索するのは alfred-metacpan-workflow を使っているが、RubyGems.org から検索するのは…

Ruby 2.4

今年もクリスマスにリリースされました。毎年素敵なプレゼントをありがとうございます! github.com Moduleも refine 出来るようになってべんりですね。 module Moconize refine Comparable do def clamp(min, max) if (min..max).include? self '' else sup…

2.2だってdigしたい!

Ruby 2.3のpreview1がリリースされ、クリスマスの足音が聞こえてきた昨今、みなさまいかがお過ごしでしょうか。 駆け込みでいくつかの機能が取り込まれていますが、そのなかでもArrayやHash、Structに実装されたdigがかわいくて気に入っています。 ネストし…

第65回 Ruby関西 勉強会 で Ruby 2.0 以降の変更点についてシュッとふりかえった話

久しぶりに Ruby 関西の勉強会に参加して、LT をしてきました。 去年は平日開催が多かったので参加出来なかったのですが、土曜日だと参加出来るので嬉しい。 https://rubykansai.doorkeeper.jp/events/18820 今回は発表者も多く、内容も多岐に渡っていたので…

Ruby 2.2 で {"Arbitrary Key": "value"} が出来るようになった話

リリース! さきほど待ちに待った Ruby 2.2.0 がリリースされました。 関係者のみなさん、すばらしいクリスマスプレゼントをありがとうございます! https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/ 変更点については preview1 のときに…

blink(1) でテストの結果を表示するようにした話

追記: Gem にしたのでご活用ください: http://rubygems.org/gems/guard-notifier-blink1 blink(1) を id:hxmasaki から1台譲ってもらったので Guard で走らせているテストの結果を通知するようにした。(一ヶ月くらい放置してしまってたのを今日やっと触れ…

Comparable#== が <=> の例外を黙殺しなくなる件について

仕事で使っている Gem が Ruby 2.2.0-preview1 で動かすと以下のような警告を出すようになった。 Comparable#== will no more rescue exceptions of #<=> in the next release. Comparable#== は <=> の定義を使ってオブジェクトが同一かを調べる。<=> が 0 …

rbenv global 2.2.0-preview1 した話

はじめに RubyKaigi 2日目が終了しました。去年参加出来なかったので3年ぶりのRubyKaigiです。 さて、9/18(木) に Ruby 2.2.0-preview1 がリリースされているので試してみました。 いつものように NEWS から僕の分かる部分だけを紹介します。 see also: rben…

rbenv global 2.0.0-p0

Happy Birthday Ruby 20周年の記念日である 2月24日(日) についに Ruby 2.0.0-p0 がリリースされました。(NEWS) コアチームのみなさん、コントリビュータのみなさん、全ての関係者のみなさんに感謝。ありがとうございます。 インストール すでに @hsbt さん(…

解決した

https://gist.github.com/Sixeight/4771462 どうも2.0からDL moduleがobsoleteになって、Fiddleを代りに使うようになっている。 @tenderlove さんに質問したら簡単な問題ではないとしつつも、spring にパッチ書いてくださってとりあえずは解決。 https://git…

きゅうり演算子できたよ!

(::) (::) (::) (::) (::) (::) (::) きゅうり演算子できた (::) (::) (::) (::) (::) (::) (::) #!./ruby1.9 ary = [ 5, 4, 8, 1, 3, 2, ] hoge = ary.sort! {|a, b| b (::) a } p hoge #=> [8, 5, 4, 3, 2, 1] (::) Index: parse.y ======================…

Ruby/Rails勉強会@関西#38に参加してきました

10月31日(土)、京都女子大学で開催された Ruby/Rails勉強会@関西#38に参加してきました 僕はRSpecのマッチャを淡々と紹介したのですが、アンケートでは「とても速かった」「速すぎて意味がわからなかった」と絶賛の声を頂きました。KOFのLTでは持ち前…

RSpecで独自のマッチャを定義するもっとも簡単な方法

RSpecでテストを書いていてよく hoge.instance_variable_get(:@piyo).should == 'hehehe' とか書きますよね毎回indtance_variable_getを書くのが面倒なのでマッチャにしておくと簡単にテストできます Rspec::Matcher.define :be_in do |name, val| match do …

Termtterリファクタリング合宿をやってきました

id:hitode909 くんと、id:masa138 さんを加えた3人体制でがりがりテストを書きました 結果、とりあえずカバレッジが100%に見えるようになりましたSixeight/termtter · GitHubスライドにも書いたように、カバレッジはいくらでもごまかせるし、逆に全く必要の…

あるgemのすべてのバージョンを列挙する方法

$ gem query -ran <gemの名前を正規表現で> -r リモートリポジトリから -a すべてのバージョン -n 正規表現にマッチするgem</gemの名前を正規表現で>