ライブラリ
- ビルトイン (1506)
- benchmark (24)
- cmath (126)
- csv (168)
- dbm (24)
- delegate (24)
- digest (24)
- gdbm (24)
-
io
/ console (12) - json (24)
- logger (48)
- matrix (56)
-
net
/ pop (24) - openssl (108)
- optparse (132)
- psych (48)
- rake (48)
- sdbm (24)
- set (67)
- shell (24)
-
shell
/ command-processor (24) -
shell
/ filter (24) - socket (24)
- syslog (24)
- tempfile (24)
- uri (12)
- zlib (12)
クラス
- Array (359)
- BasicObject (24)
-
Benchmark
:: Tms (12) -
CSV
:: Table (168) - DBM (24)
- Data (3)
- Delegator (24)
-
Digest
:: Base (24) - Dir (36)
- Fiber (18)
- GDBM (24)
- Hash (209)
- IO (12)
- Integer (24)
- Logger (48)
- Matrix (28)
- Method (14)
- Module (12)
-
Net
:: POPMail (24) - Object (36)
-
OpenSSL
:: BN (60) -
OpenSSL
:: PKey :: DH (12) -
OpenSSL
:: PKey :: EC :: Point (36) - OptionParser (60)
-
Psych
:: Handler (24) -
Rake
:: FileList (36) - Regexp (12)
- SDBM (24)
- Set (91)
- Shell (24)
-
Shell
:: CommandProcessor (24) -
Shell
:: Filter (24) - Socket (24)
- String (456)
- Tempfile (24)
-
URI
:: Generic (12) - Vector (28)
-
Zlib
:: GzipReader (12)
モジュール
オブジェクト
- ENV (129)
キーワード
- != (24)
- !~ (12)
-
$ ! (12) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (7)
- === (12)
- =~ (12)
- >> (7)
- CMath (6)
- Complex (14)
-
NEWS for Ruby 2
. 3 . 0 (10) - Rubyの起動 (7)
- String (12)
- [] (48)
- []= (12)
- acos! (6)
- acosh! (6)
- add (24)
- add! (12)
- asin! (6)
- asinh! (6)
- atan! (6)
- atan2! (6)
- atanh! (6)
- bmbm (12)
-
by
_ col! (12) -
by
_ col _ or _ row (12) -
by
_ col _ or _ row! (12) -
by
_ row! (12) - capitalize! (12)
- cat (18)
- cbrt! (6)
- chomp! (12)
- chop! (12)
-
clear
_ bit! (12) - close! (12)
- collect! (64)
- compact (21)
- compact! (21)
- cos! (6)
- cosh! (6)
-
default
_ argv= (12) - delete (12)
- delete! (24)
-
delete
_ if (144) -
delete
_ prefix! (8) -
delete
_ suffix! (8) - digest! (12)
- downcase (9)
- downcase! (12)
-
dump
_ stream (12) - each (24)
- echo (18)
- encode! (24)
- existing! (12)
- exit! (24)
- exp! (6)
- fail (12)
- fill (24)
- filter! (49)
- flatten (24)
- flatten! (24)
-
generate
_ key! (12) - getifaddrs (12)
- glob (42)
- gsub! (60)
- hexdigest! (12)
-
instance
_ method (12) - invert! (12)
- ipv6only! (12)
-
keep
_ if (38) - lineno (12)
-
load
_ file! (12) - log (24)
- log! (12)
- log10! (6)
- log2! (6)
- logger (12)
- loop (24)
- lshift! (12)
- lstrip! (12)
-
make
_ affine! (12) - map! (64)
-
mask
_ bits! (12) - merge! (36)
- mode (12)
- next! (12)
- normalize! (12)
- open! (12)
-
optparse
/ date (12) -
optparse
/ shellwords (12) -
optparse
/ time (12) -
optparse
/ uri (12) - order! (48)
- pack (21)
- pack テンプレート文字列 (12)
- parse! (36)
- path (12)
- permute! (24)
- print (12)
- raise (30)
- raw! (12)
-
rdoc
/ parser / ruby (12) - reject! (120)
- reopen (12)
- reverse! (12)
-
rexml
/ document (12) - rotate! (12)
- rshift! (12)
- rstrip! (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 2 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 9 feature (12) -
rubygems
/ security (12) - scalar (12)
- scrub! (36)
- select! (84)
-
set
_ bit! (12) -
set
_ to _ infinity! (12) - sh (12)
- sin! (6)
- sinh! (6)
- slice! (96)
- sort (24)
- sort! (24)
-
sort
_ by! (24) - sqrt! (6)
- squeeze! (12)
-
start
_ document (12) - strip! (12)
- sub! (48)
- succ! (12)
- swapcase! (12)
- tan! (6)
- tanh! (6)
- tee (18)
-
test
/ unit (1) - times (24)
- tr! (12)
-
tr
_ s! (12) -
trace
_ var (36) -
transform
_ keys! (20) -
transform
_ values! (18) -
unicode
_ normalize! (11) - uniq (12)
- uniq! (12)
- unpack (12)
- upcase! (12)
- update (36)
-
values
_ at (12) - warn (4)
- with (3)
- yaml (12)
-
yaml
/ store (12) -
yaml
_ tag (12) - パターンマッチ (9)
- リテラル (12)
- 演算子式 (12)
検索結果
先頭5件
-
test
/ unit (26018.0) -
ユニットテストを行うためのライブラリです。
...参照してください。
* Test::Unit - Ruby用単体テストフレームワーク: https://test-unit.github.io/
なお、2.2.0より前のtest/unit は当時バンドルしていた minitest/unit を使って再実装し
ていましたが、上記のtest/unitと完全な互換性がある......ィングフレームワークの歴史(2014年版) https://www.clear-code.com/blog/2014/11/6.html
* RubyKaigi 2015:The history of testing framework in Ruby https://www.clear-code.com/blog/2015/12/12.html
=== 使い方
Test::Unit は以下のように使います。
まずテスト対象......ら単体テストの高速化のために、並列実行がサポートされました。
並列化の仕組みについては以下の記事をご覧ください。
* Rubyist Magazine 0033 号 詳解! test-all 並列化: https://magazine.rubyist.net/articles/0033/0033-ParallelizeTestAll.html... -
BasicObject
# ! -> bool (21125.0) -
オブジェクトを真偽値として評価し、その論理否定を返します。
...@return オブジェクトが偽であれば真、さもなくば偽
//emlist[例][ruby]{
class NegationRecorder < BasicObject
def initialize
@count = 0
end
attr_reader :count
def !
@count += 1
super
end
end
recorder = NegationRecorder.new
!recorder
!!!!!!!recorder
puts 'h......oge' if !recorder
puts recorder.count #=> 3
//}
//emlist[例][ruby]{
class AnotherFalse < BasicObject
def !
true
end
end
another_false = AnotherFalse.new
# another_falseは*真*
puts "another false is a truth" if another_false
#=> "another false is a truth"
//}... -
Delegator
# ! -> bool (21101.0) -
自身を否定します。
自身を否定します。 -
String
# tr _ s!(pattern , replace) -> self | nil (15260.0) -
文字列の中に pattern 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
...文字列の中に pattern 文字列に含まれる文字が存在したら、
replace 文字列の対応する文字に置き換えます。さらに、
置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
pattern の形式は tr(1) と同じです......は指定した文字以外が置換の対象になります。
replace でも「-」を使って範囲を指定できます。
//emlist[][ruby]{
p "gooooogle".tr_s("a-z", "A-Z") # => "GOGLE"
//}
「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
同様......す。
tr_s は置換後の文字列を生成して返します。
tr_s! は self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
注意:
一般に、tr_s! を tr! と squeeze! で置き換えることはできません。
tr! と squeeze! の組み... -
String
# strip! -> self | nil (15241.0) -
先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
..." \t\r\n\f\v\0" です。
strip! は、内容を変更した self を返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc\r\n"
p str.strip! #=> "abc"
p str #=> "abc"
str = "abc"
p str.strip! #=> nil
p str......#=> "abc"
str = " \0 abc \0"
str.strip!
p str #=> "abc"
//}
@see String#strip, String#lstrip... -
String
# lstrip! -> self | nil (15235.0) -
文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
...義は " \t\r\n\f\v\0" です。
lstrip! は self を変更して返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc"
p str.lstrip! # => "abc"
p str # => "abc"
str = "abc"
p str.lstrip! # => nil
p str... -
String
# rstrip! -> self | nil (15235.0) -
文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
...的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
str = " abc\n"
p str.rstrip! # => " abc"
p str # => " abc"
str = " abc \r\n\t\v\0"
p str.rstrip! # => " abc"
p str # => " abc"
//}
@see String#rstrip, String#lstrip... -
String
# tr!(pattern , replace) -> self | nil (15206.0) -
pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に破壊的に置き換えます。
...pattern 文字列に含まれる文字を検索し、
それを replace 文字列の対応する文字に破壊的に置き換えます。
pattern の形式は tr(1) と同じです。
つまり、`a-c' は a から c を意味し、
"^0-9" のように文字列の先頭が `^' の場合は
指定......。
replace の範囲が pattern の範囲よりも小さい場合は、
replace の最後の文字が無限に続くものと扱われます。
tr! は self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字の......パターン
@param replace pattern で指定した文字を置き換える文字
@see String#tr, String#tr_s... -
Array
# filter! {|item| block } -> self | nil (12316.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
...//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject!... -
Hash
# filter! -> Enumerator (12234.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...ます。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{......h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select! # => #<Enumerator: {0=>"a", 1=>"b", 2=>"c", 3=>"d", 4=>"e", 5=>"f", 6=>"g"}:select!>
h1.select! { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h1.select! { |k, v| true } # => nil
h2.keep_if { |k, v|......k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h2.keep_if { |k, v| true } # => {0=>"a", 3=>"d", 6=>"g"}
//}
@see Hash#select, Hash#delete_if, Hash#reject!... -
Hash
# filter! {|key , value| . . . } -> self | nil (12234.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
...ます。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{......h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select! # => #<Enumerator: {0=>"a", 1=>"b", 2=>"c", 3=>"d", 4=>"e", 5=>"f", 6=>"g"}:select!>
h1.select! { |k, v| k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h1.select! { |k, v| true } # => nil
h2.keep_if { |k, v|......k % 3 == 0 } # => {0=>"a", 3=>"d", 6=>"g"}
h2.keep_if { |k, v| true } # => {0=>"a", 3=>"d", 6=>"g"}
//}
@see Hash#select, Hash#delete_if, Hash#reject!...