使うとちょっとRubyが便利になる(かもしれない)小物ライブラリの詰め合わせ。
パブリックドメインです。再配布や改変などに制限はありません。
bool_attr_reader
と bool_attr_accessor
で、複数のメソッドを一度に定義できるようにしたrubyplus/filewrite
を追加次のように記述することで、RubyPlusに含まれる全てのライブラリを読み込む。
require 'rubyplus'
また、必要なライブラリだけを個別に読み込むこともできる。
require 'rubyplus/in'
require 'rubyplus/boolattr'
method_name?
形式のメソッドを簡単に定義できるようにする。
require 'rubyplus'
class Foo
bool_attr_reader :a, :b
bool_attr_accessor :c, :d
def initialize
@a = true
@c = false
end
end
obj = Foo.new
obj.a? #=> true
obj.c = true
obj.c? #=> true
Object#in?
メソッドを追加する。
require 'rubyplus'
range = 20..40
v = 30
v.in?(range) # range.include?(v) と等価
rubyに標準添付のpathname
に以下の拡張を行う。
Object#to_pathname
メソッドの追加Path()
および Pathname()
を追加require 'rubyplus' '/foo/bar'.to_pathname Path('/foo/bar') Pathname('/foo/bar')
Enumerable#total
メソッドを追加する。
require 'rubyplus'
[1, 2, 3, 4].total #=> 10
# inject{|t, inc| t + inc} と等価
version 0.2 より導入。File#write
メソッド、および File#puts
メソッドを追加する。設計にあたり、kwatch氏の日記の記事なぜ File.read() でなくて IO.read() なのか? なぜ File.read() はあって File.write() はないのか?を参考にさせていただいた。
require 'rubyplus'
# writeメソッドを使って、output.txtに文字列を書き込む
File.write('output.txt', 'written-text')
# ファイルオープン時のモード指定も可能
File.write('output.txt', 'written-text', 'wb')
# puts版
File.puts('output.txt', ['line1', 'line2'], 'a')
「こんな機能を追加してくれれば便利なんだけど」という要望があれば、こちらのフォームからお気軽にどうぞ。バグ報告や質問もOKです。