クラス
- ERB (1)
- Regexp (3)
- Ripper (1)
-
RubyVM
:: InstructionSequence (10)
モジュール
- Kernel (3)
キーワード
-
$ LAST _ PAREN _ MATCH (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - RegexpError (1)
-
absolute
_ path (1) -
compile
_ error (2) -
compile
_ file (1) -
compile
_ option (1) -
compile
_ option= (1) -
first
_ lineno (1) - inspect (1)
- new (2)
- of (1)
- path (1)
-
rb
_ compile _ cstr (1) -
rb
_ compile _ error (1) -
rb
_ compile _ error _ with _ enc (1) -
rb
_ compile _ file (1) -
rb
_ compile _ string (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 4 feature (1) -
set
_ eoutvar (1) -
try
_ compile (2) - yycompile (1)
- ~ (1)
- 正規表現 (1)
検索結果
先頭5件
- static NODE * compile(VALUE src
, char *file , int line) - Regexp
. compile(string , option = nil , code = nil) -> Regexp - RubyVM
:: InstructionSequence . compile(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence - RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence - RubyVM
:: InstructionSequence . compile _ option=(options)
-
static NODE * compile(VALUE src
, char *file , int line) (132601.0) -
Ruby の文字列または IO オブジェクト src を 構文木にコンパイルし、返します。そのとき、src が ファイル file の line 行目から始まっていると仮定します。
Ruby の文字列または IO オブジェクト src を
構文木にコンパイルし、返します。そのとき、src が
ファイル file の line 行目から始まっていると仮定します。 -
Regexp
. compile(string , option = nil , code = nil) -> Regexp (72712.0) -
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。
@param string 正規表現を文字列として与えます。
@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals... -
RubyVM
:: InstructionSequence . compile(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (72658.0) -
引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param source Ruby のソースコードを文字列で指定します。
@param file ファイル名を文字列で指定します。
@param path 引数 file の絶対パスファイル名を文字列で指定します。
@param line 引数 source の 1 行目の行番号を指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
... -
RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence (36676.0) -
引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr... -
RubyVM
:: InstructionSequence . compile _ option=(options) (36676.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数 options で指定します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数
options で指定します。
@param options コンパイル時の最適化オプションを true、false、nil、
Hash のいずれかで指定します。true を指定した場合は
全てのオプションを有効にします。false を指定した場合は全
てのオプションを無効にします。nil を指定した場合はいずれ
のオプションも変更しません。また、Hash を指定した
場合は以... -
RubyVM
:: InstructionSequence . compile _ option -> Hash (36640.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返 します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
します。
//emlist[例][ruby]{
require "pp"
pp RubyVM::InstructionSequence.compile_option
# => {:inline_const_cache=>true,
# :peephole_optimization=>true,
# :tailcall_optimization=>false,
# :specialized_instruction=>true,
# :operands_unification=>true,
# :instructi... -
Kernel
# try _ compile(src , opt = "" , *opts) -> bool (36607.0) -
与えられた C のソースコードがコンパイルできた場合は真を返します。 コンパイルできなかった場合は偽を返します。
与えられた C のソースコードがコンパイルできた場合は真を返します。
コンパイルできなかった場合は偽を返します。
ブロックを与えた場合、そのブロックはコンパイル前に評価されます。
ブロック内でソースコードを変更することができます。
@param src C のソースコードを指定します。
@param opt コンパイラに渡すオプションを指定します。
$CFLAGS もコンパイラには渡されます。 -
Kernel
# try _ compile(src , opt = "" , *opts) { . . . } -> bool (36607.0) -
与えられた C のソースコードがコンパイルできた場合は真を返します。 コンパイルできなかった場合は偽を返します。
与えられた C のソースコードがコンパイルできた場合は真を返します。
コンパイルできなかった場合は偽を返します。
ブロックを与えた場合、そのブロックはコンパイル前に評価されます。
ブロック内でソースコードを変更することができます。
@param src C のソースコードを指定します。
@param opt コンパイラに渡すオプションを指定します。
$CFLAGS もコンパイラには渡されます。 -
Ripper
# compile _ error(msg) -> nil (36604.0) -
解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま す。
解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま
す。
@param msg エラーメッセージ。
サブクラスでオーバライドして使用します。 -
NODE * rb
_ compile _ cstr(const char *f , const char *s , int len , int line) (36601.0) -
C の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
C の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
NODE * rb
_ compile _ file(const char *f , VALUE file , int start) (36601.0) -
Ruby の IO オブジェクト file から文字列を読み込み、 それを Ruby プログラムとして構文木にコンパイルします。 作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に 格納し、同時に ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の IO オブジェクト file から文字列を読み込み、
それを Ruby プログラムとして構文木にコンパイルします。
作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に
格納し、同時に ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
NODE * rb
_ compile _ string(const char *f , VALUE s , int line) (36601.0) -
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
static NODE * yycompile(char *f
, int line) (36601.0) -
コンパイルを開始します。そのとき、 ファイル名 f の line 行目からを コンパイルするものと仮定します。
コンパイルを開始します。そのとき、
ファイル名 f の line 行目からを
コンパイルするものと仮定します。 -
static void compile
_ error(const char *at) (36601.0) -
-
void rb
_ compile _ error(const char *file , int line , const char *fmt , . . . ) (36601.0) -
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想 定しています。外部のライブラリで使用すべきではありません。
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想
定しています。外部のライブラリで使用すべきではありません。 -
void rb
_ compile _ error _ with _ enc(const char *file , int line , void *enc , const char *fmt , . . . ) (36601.0) -
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想 定しています。外部のライブラリで使用すべきではありません。
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想
定しています。外部のライブラリで使用すべきではありません。 -
Regexp
. new(string , option = nil , code = nil) -> Regexp (18412.0) -
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。
@param string 正規表現を文字列として与えます。
@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals... -
RubyVM
:: InstructionSequence . new(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (18358.0) -
引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param source Ruby のソースコードを文字列で指定します。
@param file ファイル名を文字列で指定します。
@param path 引数 file の絶対パスファイル名を文字列で指定します。
@param line 引数 source の 1 行目の行番号を指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
... -
Kernel
$ $ LAST _ PAREN _ MATCH -> String | nil (18355.0) -
$+ の別名
$+ の別名
require "English"
r1 = Regexp.compile("<img src=(http:.+?)>")
r2 = Regexp.compile("<a href=(http|ftp).+?>(.+?)</a>")
while line = DATA.gets
[ r1, r2 ].each {|rep|
rep =~ line
p $+
}
end
__END__
<tr> <td><img src=http://localhost/a.jpg></td> <td>ikkou</td>... -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (18355.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
RubyVM
:: InstructionSequence # path -> String (18355.0) -
self が表す命令シーケンスの相対パスを返します。
self が表す命令シーケンスの相対パスを返します。
self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"
例2: RubyVM::InstructionSequence.compi... -
RubyVM
:: InstructionSequence # inspect -> String (18319.0) -
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}
@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path -
RegexpError (18037.0)
-
正規表現のコンパイルに失敗したときに発生します。
正規表現のコンパイルに失敗したときに発生します。
例:
$ ruby -e 'Regexp.compile("*")'
-e:1:in `initialize': target of repeat operator is not specified: /*/ (RegexpError)
from -e:1:in `Regexp#compile'
from -e:1 -
正規表現 (9199.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...= /\A
\d+ # 整数部
(\. # 小数点
\d+ # 小数部
)? # 小数点 + 小数部 はなくともよい
\z/x
float_pat.match("3.14") # => #<MatchData "3.14" 1:".14">
//}
空白を表現したい場合はエスケープをしてください。
//emlist[][ruby]{
/x y/x.match("x y") # => ni... -
Regexp
# ~ -> Integer | nil (9019.0) -
変数 $_ の値との間でのマッチをとります。
変数 $_ の値との間でのマッチをとります。
ちょうど以下と同じ意味です。
//emlist[][ruby]{
self =~ $_
//}
//emlist[例][ruby]{
$_ = "hogehoge"
if /foo/
puts "match"
else
puts "no match"
end
# => no match
# ただし、警告がでる。warning: regex literal in condition
reg = Regexp.compile("foo")
if ~ reg
puts "match"
else
puts "no matc... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (4609.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への変更点(まとめ)/サポートプラットフォームの追加>))
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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 6 feature (2305.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
ERB
# set _ eoutvar(compiler , eoutvar = & # 39; _ erbout& # 39;) -> Array (601.0) -
ERBの中でeRubyスクリプトの出力をためていく変数を設定します。
ERBの中でeRubyスクリプトの出力をためていく変数を設定します。
ERBでeRubyスクリプトの出力をためていく変数を設定するために使用します。
この設定は ERB#new でも行えるため、通常はそちらを使用した方がより容易です。
本メソッドを使用するためには、引数にて指定する eRuby コンパイラを事前に生成しておく必要があります。
@param compiler eRubyコンパイラ
@param eoutvar eRubyスクリプトの中で出力をためていく変数 -
ruby 1
. 8 . 4 feature (253.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (55.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
RubyVM
:: InstructionSequence # first _ lineno -> Integer (37.0) -
self が表す命令シーケンスの 1 行目の行番号を返します。
self が表す命令シーケンスの 1 行目の行番号を返します。
例1:irb で実行した場合
RubyVM::InstructionSequence.compile('num = 1 + 2').first_lineno
# => 1
例2:
# /tmp/method.rb
require "foo-library"
def foo
p :foo
end
RubyVM::InstructionSequence.of(method(:foo)).first_lineno
# => 2