種類
- 文書 (63)
- インスタンスメソッド (24)
- 特異メソッド (12)
- ライブラリ (12)
- クラス (12)
クラス
- BasicObject (24)
- Object (12)
キーワード
- != (12)
-
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 3
. 0 . 0 (5) - Symbol (12)
-
rdoc
/ parser / ruby (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 9 feature (12) -
yaml
_ tag (12) - クラス/メソッドの定義 (12)
- 演算子式 (12)
検索結果
先頭5件
-
BasicObject
# ! -> bool (18131.0) -
オブジェクトを真偽値として評価し、その論理否定を返します。
...tialize
@count = 0
end
attr_reader :count
def !
@count += 1
super
end
end
recorder = NegationRecorder.new
!recorder
!!!!!!!recorder
puts 'hoge' if !recorder
puts recorder.count #=> 3
//}
//emlist[例][ruby]{
class AnotherFalse < BasicObject
def !
true
end
end
another... -
BasicObject
# !=(other) -> bool (6106.0) -
オブジェクトが other と等しくないことを判定します。
...返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるようになっています。
ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を保たなくては......icObject#==, BasicObject#!
//emlist[例][ruby]{
class NonequalityRecorder < BasicObject
def initialize
@count = 0
end
attr_reader :count
def !=(other)
@count += 1
super
end
end
recorder = NonequalityRecorder.new
recorder != 1
puts 'hoge' if recorder != "str"
p recorder.coun... -
ruby 1
. 6 feature (84.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...)
: 2002-07-11 String#slice!
範囲外の文字列を指定したときに例外を返す場合がありましたが、常に nil
を返すようになりました。(String#[]やString#slice と同じ結果を返すと
いうことです)
p "foo".slice!("bar") # <- 以前から......こちらは nil を返していた
p "foo".slice!(5,10)
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil
-:2:in `slice!': index 5 out of string (IndexError)
from -:2
=> ruby 1.6.7 (2002-08-01) [i586-linux]
nil
nil
: 20......ことがありました。((<ruby-dev:13752>))
: attr_*
アクセサに余計な引数を渡してもエラーになりませんでした。
((<ruby-dev:13748>))
class C
def initialize
@message = 'ok'
end
attr_reader :message
end
puts C.new.message(1,2,3... -
rdoc
/ parser / ruby (78.0) -
Ruby のソースコードを解析するためのサブライブラリです。
...されたメソッドをドキュメントに含めたい場合、## でコメントを開始します。
##
# This is a meta-programmed method!
add_my_method :meta_method, :arg1, :arg2
RDoc::Parser::Ruby は上記の :meta_method ようにメソッドの定義を行
うような識別子......ド
名は 'unknown' になります。
:method: 命令を使う事でメソッド名を指定する事もできます。
##
# :method: woo_hoo!
デフォルトでは動的に定義されたメソッドはインスタンスメソッドとして解析
されます。特異メソッドとした......o_hoo!
また、属性についても同様に :attr:、 :attr_reader:、 :attr_writer:、
:attr_accessor: を指定する事ができます。属性の名前は省略できます。
##
# :attr_reader: my_attr_name
=== 隠しメソッド、属性
:method:、 :singleton-method: や :attr: 命... -
NEWS for Ruby 3
. 0 . 0 (54.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ad of subclass instances when called on subclass instances: 6087
* Array#drop
* Array#drop_while
* Array#flatten
* Array#slice!
* Array#slice / Array#[]
* Array#take
* Array#take_while
* Array#uniq
* Array#*
* Can be sliced with Enumerator::A......g major collections. At the moment, compaction adds significant overhead to major collections, so please test first! 17176
* Hash
* Hash#transform_keys and Hash#transform_keys! now accept a hash that maps keys to new keys. 16274
* Hash#except has been added, which returns a hash excludi......vel "private" and "public" methods now accept single array argument with a list of method names. 17314
* Module#attr_accessor, Module#attr_reader, Module#attr_writer and Module#attr methods now return an array of defined method names as symbols. 17314
* Module#alias_method now returns the de... -
ruby 1
. 9 feature (54.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...=== 2006-08-31
: Array#shuffle
: Array#shuffle!
追加
=== 2006-07-26
: __send
: __send!
追加
: invoke_method
: invoke_functional_method
削除
=== 2006-07-21
: Module#attr
オプショナル引数の assignable がなくなり、attr_reader 相当になりました
[RCR#331]......ruby-talk:191237>)) [new]
: Math#log にオプショナルな第2引数 base 追加 ((<ruby-talk:191308>)) [compat]
: Array#flatten, Array#flatten! がオプショナルな level 引数を受け取るようになりました [compat]
: String#unpack("M") で CRLF を単独の LF と同様に......。
=== 2005-12-15
: sub [obsolete]
: gsub [obsolete]
: sub! [obsolete]
: gsub! [obsolete]
: chop [obsolete]
: chop! [obsolete]
: chomp [obsolete]
: chomp! [obsolete]
: split [obsolete]
: scan [obsolete]
削除... -
クラス/メソッドの定義 (30.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...の言語における「関数」のように使えます。
//emlist[例][ruby]{
def hello # 引数のないメソッド。
puts "Hello, world!"
end
def foo(a, b) # 引数のあるメソッド。括弧を省いてdef foo a, bとも
a + 3 * b
end
//}
メソッド名としては通常の......定義可能な演算子(例: ==, +, -
など spec/operator を参照)も指定できます(operator参照)。
//emlist[例][ruby]{
class Vector2D
attr_accessor :x, :y # インスタンス変数@x, @yに対応するゲッタとセッタを定義
def initialize(x, y) # コンストラクタ......, y = $gvar) # 確かに定義時には$gvar == 3だが
10 * x + y
end
$gvar = 7
# 呼び出し時の$gvarの値が使われる
p bar(5) #=> 57 (!= 53)
//}
仮引数の直前に * がある場合には残りの実引数
(後述の post 引数を除く)
はみな配列とし てこの引数に... -
演算子式 (30.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
...[]
+(単項) ! ~
**
-(単項)
* / %
+ -
<< >>
&
| ^
> >= < <=
<=> == === != =~ !~
&&......の記法を利用します。
//emlist{
| ^ & <=> == === =~ > >= < <= << >>
+ - * / % ** ~ +@ -@ [] []= ` ! != !~
//}
これらの演算子式の定義方法についてはd:spec/def#operatorを参照してください。
:再定義できない演算子(......= C.new
c.foo = 5 # c.foo=( 5 ) のように変換される
p c.foo # => 5
//}
属性は Module#attr を使って同じように定義できます。
//emlist[例][ruby]{
class C
attr :foo, true
end
c = C.new
c.foo = 5 # c.foo=( 5 ) のように変換される
p c.foo # => 5
//}
=... -
NEWS for Ruby 2
. 3 . 0 (18.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...きにメソッド foo を呼び出します。
Active Support の try! と似ていますが、メソッド名は文法的に必須であるという点が異なります。
11537
//emlist{
obj.try! {} # valid
obj&. {} # syntax error
//}
* 引数はメソッ......価されます。
//emlist{
obj.try!(:foo, bar()) # bar() は常に評価されます
obj&.foo(bar()) # bar() は条件付きで評価されます
//}
* 属性値の代入にも使えます
//emlist{
obj&.attr += 1
//}
* did_you_mean gem:
* 名前......を除く)
* Array
* Array#select!, Array#keep_if, Array#reject!, Array#delete_if
ブロックが評価される度にレシーバーの配列をすぐに変更しないようになりました。
10714
* Array#flatten と Array#flatten! は与えられたレベルを越えた... -
Symbol (18.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
...得られます。
:symbol
:'symbol'
%s!symbol! # %記法
生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数......けではない時に用います。
* ハッシュのキー { :key => "value" }
* アクセサの引数で渡すインスタンス変数名 attr_reader :name
* メソッド引数で渡すメソッド名 __send__ :to_s
* C の enum 的な使用 (値そのものは無視してよい場合)...