種類
- 文書 (55)
- インスタンスメソッド (44)
- ライブラリ (11)
ライブラリ
- ビルトイン (44)
クラス
- BasicObject (11)
- Object (11)
- Regexp (11)
- Symbol (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- logger (11)
-
method
_ missing (11) -
respond
_ to _ missing? (11) -
ruby 1
. 8 . 4 feature (11) - クラス/メソッドの定義 (11)
- 正規表現 (11)
検索結果
先頭5件
-
Symbol
# =~(other) -> Integer | nil (39124.0) -
正規表現 other とのマッチを行います。
....to_s =~ other と同じです。)
@param other 比較対象のシンボルを指定します。
@return マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
p :foo =~ /foo/ # => 0
p :foobar =~ /bar/ # => 3
p :foo =~ /bar....../ # => nil
@see String#=~... -
Regexp
# =~(string) -> Integer | nil (18154.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
...す。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文字列のかわりにSymbolをマッチさせることができま......ing オブジェクト
でも Symbol でもない場合発生します。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p Regexp.last_match(0) # => "foo"
p /foo/ =~ "afoo" # => 1
p $~[0] # => "foo"
p /foo/ =~ "bar" # => nil
unless /foo/ === "bar......"
puts "not match " # => not match
end
str = []
begin
/ugo/ =~ str
rescue TypeError
printf "! %s\t%s\n", $!, $@ # => ! can't convert Array into String r5.rb:15
end
//}... -
Object
# respond _ to _ missing?(symbol , include _ private) -> bool (135.0) -
自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。
...自身が symbol で表されるメソッドに対し
BasicObject#method_missing で反応するつもりならば真を返します。
Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。
BasicObject#method_m......きです。
false を返します。
@param symbol メソッド名シンボル
@param include_private private method も含めたい場合に true が渡されます
//emlist[例][ruby]{
class Sample
def method_missing(name, *args)
if name =~ /^to_*/
[name, *args] # => [:to_sample, "......sample args1", "sample args2"]
return
else
super
end
end
def respond_to_missing?(sym, include_private)
(sym =~ /^to_*/) ? true : super
end
end
s = Sample.new
s.to_sample("sample args1", "sample args2")
s.respond_to?(:to_sample) # => true
s.respond_to?(:sample) # =... -
ruby 1
. 8 . 4 feature (108.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...latform]: 対応プラットフォームの追加
== 目次
* ((<ruby 1.8.4 feature/Ruby本体>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/Symbol [bug]>))
* ((<ruby 1.8.4 feature/super [bug]>))
* ((<ruby 1.8.4 feature/正規表現 [bug]>))
* ((<ruby 1.8.4 feature/......re/Sun [bug]>))
* ((<ruby 1.8.4 feature/IA64 [bug]>))
== Ruby本体
: Symbol [bug]
# * parse.y (dsym): prohibit empty symbol literal by interpolation.
# fixed: [ruby-talk:166529]
式展開で空のSymbolを作ることができたバグの修正。 ((<ruby-talk:166529>))......以降の
バックトラックが効かなくなるバグの修正。((<ruby-list:41328>))
p(/^[a-z]+x[0-9]+$/ =~ "hogex111")
p(/^[\x61-\x7a]+x[0-9]+$/ =~ "hogex111")
# => ruby 1.8.3 (2005-09-21) [i686-linux]
0
nil
# => ruby 1.8.4 (200... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (78.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への変更点(まとめ)/サポートプラットフォームの追加>))
...追加
(({str[n, 0] = other})) と同じ(ただし self を返す)
=== Struct
: ((<Struct/each_pair>)) [new]
追加。
=== Symbol
: ((<Symbol/Symbol.all_symbols>)) [new]
追加 ((<ruby-dev:12921>))
=== SystemCallError
: ((<SystemCallError/SystemCallError.===>)) [new]
追加......こちらも使用すると警告が出ます)。
: ((<Fixnum#to_sym|Fixnum/to_sym>)) [new]
: ((<String#to_sym|String/to_sym>)) [new]
追加(Symbol#intern はなくなった)
== 追加された定数
: ((<Float::DIG|Float/DIG>)) [new]
: ((<Float::EPSILON|Float/EPSILON>)) [new]
: ((<Float::MANT......ing/sub!>)) [change]
: ((<String#gsub|String/gsub>)), ((<String#gsub!|String/gsub!>)) [change]
: ((<String#~|String/~>)) [obsolete]
: ((<String#=~|String/=~>)) [obsolete]
: ((<組み込み変数/$;>)) [compat]
: ((<組み込み変数/$-F>)) [compat]
: ((<Rubyの起動/-F((*regexp*))>)) [compat... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (42.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...ッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。
: /xxx/ !~ yyy
正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。
===[a:q] ?
: ?a
d:spec/literal#string。長さ 1 の文字列。
: def xx?
こ......文字の直後の位置にマッチします。
===[a:colon] :
: :exit等の:のついた識別子
シンボルリテラル。d:spec/literal#symbol を参照。
: Net::HTTP
定数のスコープ演算子。d:spec/variables#const を参照。
: ::DateTime
定数のスコープ演算子で......0"
//}
: /xxx/ =~ yyy
正規表現のメソッド =~ 。正規表現と文字列をマッチさせる。両辺を入れ替えても機能します。
: /xxx/ !~ yyy
正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。
: ~ /xxx/
/xxx/ =~ $_ の省略... -
正規表現 (36.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...を付けることができます。
(?<name>pat)もしくは(?'name'pat)と記述します。キャプチャした文字列は
MatchData#[] に Symbol を渡すことで参照できます。
これは名前付きキャプチャと呼ばれます。
//emlist[][ruby]{
m = /\$(?<dollars>\d+)\.(?<cen......正規表現内に名前付きキャプチャがあり、 =~ の左辺で用いた
場合には、その名前のローカル変数にキャプチャした文字列を
代入します。
//emlist[][ruby]{
/\$(?<dollars>\d+)\.(?<cents>\d+)/ =~ "$3.67" # => 0
dollars # => "3"
cents # => "67"
//}
注......る可能性があるため、停止条件に注意して
この機能を使ってください。
//emlist[][ruby]{
/\A(?<paren>\(\g<paren>*\))*\z/ =~ '(())' # => 0
# ^1
# ^2
# ^3
# ^4
# ^5
# ^6
# ^7
# ^8
#... -
クラス/メソッドの定義 (30.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...e, else, ensure 節を指定できます。
例外処理についてはd:spec/control#begin参照。
メソッド定義式は、メソッド名を Symbol にしたオブジェクトを返します。
@see https://magazine.rubyist.net/articles/0041/0041-200Special-kwarg.html
====[a:operator] 演......指向システムにお
けるクラスメソッドの働きをすることになります。
特異メソッド定義式は、メソッド名を Symbol にしたオブジェクトを返します。
===[a:class_method] クラスメソッドの定義
Ruby におけるクラスメソッドとは......# => nil
//}
"assignment" を返します。実際に代入は行いませんがローカル変数は定義されます。
//emlist[][ruby]{
/(.)/ =~ "foo"
defined? $& # => "global-variable"
defined? $1 # => "global-variable"
defined? $2 # => nil
//}
$&, $1, $2, などは直前のマッチの... -
BasicObject
# method _ missing(name , *args) -> object (12.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
...れていなかった時、Rubyインタプリタがこのメソッド
を呼び出します。
呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 NoMethodError を発......うに見えます。
//emlist[例][ruby]{
class Foo
def initialize(data)
@data = data
end
def method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if @data[lang]
p @data[lang][$1.to_i]
else
raise "#{lang} unknown"
end
else
super... -
logger (12.0)
-
ログを記録するためのライブラリです。
...er")
logger.info("Program started")
logger.warn("Nothing to do!")
path = "a_non_existent_file"
begin
File.foreach(path) do |line|
unless line =~ /^(\w+) = (.*)$/
logger.error("Line in wrong format: #{line.chomp}")
end
end
rescue => err
logger.fatal("Caught exception; exiting")......の) Log4r 互換インターフェイス
//emlist[][ruby]{
logger.level = Logger::INFO
# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
//}
3. Symbol か String(大文字小文字の区別を行わない)
//emlist[][ruby]{
logger.level = :info
logger.level = 'INFO'
# :debug < :info < :warn < :e...