別のキーワード
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - クラス/メソッドの定義 (12)
検索結果
-
演算子式 (15045.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
...演算子式
* assign
* selfassign
* multiassign
* range
* range_cond
* and
* or
* not
* cond
//emlist[例][ruby]{
1+2*3/4
//}
プログラミングの利便のために一部のメソッド呼び出しと制御構造は演算子形
式をとります。Rubyには以下にあげ......//emlist{
| ^ & <=> == === =~ > >= < <= << >>
+ - * / % ** ~ +@ -@ [] []= ` ! != !~
//}
これらの演算子式の定義方法についてはd:spec/def#operatorを参照してください。
:再定義できない演算子(制御構造)
演算子の......よくある使いかた
5.times{|n|
if (n==2)..(n==3)
p n
end
}
#=> 2
# 3
5.times{|n|
if (n==2)...(n==3)
p n
end
}
#=> 2
# 3
# 「..」と「...」の違いを示すためだけの例
5.times{|n|
if (n==2)..(n==2)
p n
end
}
#=> 2
5.times{|n|
if (n==2)...(n==2)... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (48.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...取るほとんどの組み込みメソッドは、to_str による暗黙の
型変換を試みます。
: 範囲演算子式中のリテラル [ruby] [change]
範囲演算子式中の単独の数値リテラルが (({$.})) と比較されるのは
-e オプションによる1行スクリプ......ThreadGroup に Thread を追加/削除できなくなりました。
=== Time
: ((<Process/Process.times>)) [change]
((<Time/Time.times>)) から移動しました。
(Time.times も残っていますが、warningが出ます)
: ((<Time#to_a|Time/to_a>)) [change]
: ((<Time#z......icies
は values_at という名前に変わりました。
: ((<Array#filter|Array/filter>))
なくなりました。
: Time.times
((<Process/Process.times>)) に移動しました。
: NotImplementError [obsolete]
旧称は削除されました。((<NotImplementedError>)... -
クラス/メソッドの定義 (18.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...す。
ブロックが与えられなかった場合のブロック引数の値はnilです。
//emlist[例][ruby]{
def foo(cnt, &block_arg)
cnt.times { block_arg.call } # ブロックに収まったProcオブジェクトはcallで実行
end
foo(3) { print "Ruby! " } #=> Ruby! Ruby! Ruby!
//}....../0041-200Special-kwarg.html
====[a:operator] 演算子式の定義
spec/operatorにおいて、「再定義可能な演算子」に分類された演算子の実装
はメソッドなので、定義することが可能です。
これらの演算子式を定義する例を以下に挙げます...