種類
- 特異メソッド (55)
- モジュール関数 (22)
- インスタンスメソッド (11)
- 文書 (11)
ライブラリ
- ビルトイン (22)
- ripper (11)
-
ripper
/ lexer (22) -
ripper
/ sexp (22) - zlib (11)
クラス
- Ripper (55)
-
Zlib
:: GzipReader (11)
モジュール
- Kernel (22)
検索結果
先頭5件
-
Zlib
:: GzipReader # lineno=(num) (18112.0) -
IO クラスの同名メソッドIO#lineno=と同じです。
...IO クラスの同名メソッドIO#lineno=と同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッター......タの最後) を越えて読み込み要求を受けた時。
すなわち Zlib::GzipReader#read,
Zlib::GzipReader#gets メソッド等が nil を返す時。
* EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが
呼び出された時。
* EOF まで読み込んだ.......puts 'h'
gz.puts 'o'
gz.puts 'g'
gz.puts 'e'
}
=end
Zlib::GzipReader.open('hoge.gz') { |gz|
while l = gz.gets
l.chomp!
gz.lineno = 1000 if l == "o"
printf "%s %d\n", l, gz.lineno
end
}
#=> h 1
#=> o 1001
#=> g 1002
#=> e 1003
@see IO#lineno=... -
Ripper
. parse(src , filename = & # 39;(ripper)& # 39; , lineno = 1) -> nil (118.0) -
指定された文字列を解析します。常に nil を返します。
...指定された文字列を解析します。常に nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param filename src のファイル名を文字列で指定します。省略すると "(ripper)" になります。
@param lineno... -
Ripper
. sexp(src , filename = & # 39;-& # 39; , lineno = 1) -> object (55.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
...e 'ripper'
require 'pp'
pp Ripper.sexp("def m(a) nil end")
# => [:program,
# [[:def,
# [:@ident, "m", [1, 4]],
# [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil, nil]],
# [:bodystmt, @kw, "nil", [1, 9]], nil, nil, nil]]]]
//}
パーサイベントは以下のよう... -
ruby 1
. 9 feature (54.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...assignable がなくなり、attr_reader 相当になりました
[RCR#331]
=== 2006-06-22
: Module#name
無名モジュールに対しては nil を返すようになりました
[ruby-talk:198440]
=== 2006-06-17
: BasicObject#invoke_method
: BasicObject#invoke_functional_method
追......なりました
* 多重代入、引数渡し
: 多重代入や yield の何かが変わりました
: Proc#yield が導入されました
: nil.yield が導入されました。no block given (LocalJumpError) という例外を生成します
: 仮引数で、* の後にも必須引数を......((<ruby-dev:24061>))
=== 2004-08-19
: Binding#eval(expr[, fname[, lineno=1]]) [new]
追加。((<RCR#251>))
: String#clear [new]
追加。((<ruby-dev:24104>))
=== 2004-08-17
: Process.daemon(nochdir=nil,noclose=nil) [new]
追加。((<ruby-dev:24030>))
=== 2004-08-12
: IO#... -
Ripper
. sexp _ raw(src , filename = & # 39;-& # 39; , lineno = 1) -> object (49.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
...ef m(a) nil end")
# => [:program,
# [:stmts_add,
# [:stmts_new],
# [:def,
# [:@ident, "m", [1, 4]],
# [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]],
# [:bodystmt,
# [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]],
# nil,
#......nil,
# nil]]]]
//}
Ripper.sexp_raw は Ripper.sexp とは異なり解析結果を加工しません。
@see Ripper.sexp... -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1) -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (13.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
...ineno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
pp Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", EXPR_FNAME],
# [[1, 3], :on_sp, " ", EXPR_FNAME],
# [[1, 4], :on_ident, "m", EXPR_ENDFN],
# [[1, 5]......[[1, 6], :on_ident, "a", EXPR_ARG],
# [[1, 7], :on_rparen, ")", EXPR_ENDFN],
# [[1, 8], :on_sp, " ", EXPR_BEG],
# [[1, 9], :on_kw, "nil", EXPR_END],
# [[1, 12], :on_sp, " ", EXPR_END],
# on_kw, "end", EXPR_END
//}
Ripper.lex は分割したトークンを詳しい情報と......neno src の開始行番号を指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
pp Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", FNAME],
# [[1, 3], :on_sp, " ", FNAME],
# [[1, 4], :on_ident, "m", ENDFN],
# [[1, 5], :on_lparen, "......, BEG|LABEL],
# [[1, 6], :on_ident, "a", ARG],
# [[1, 7], :on_rparen, ")", ENDFN],
# [[1, 8], :on_sp, " ", BEG],
# [[1, 9], :on_kw, "nil", END],
# [[1, 12], :on_sp, " ", END],
# on_kw, "end", END
//}
Ripper.lex は分割したトークンを詳しい情報とともに返し... -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1) -> [[Integer , Integer] , Symbol , String] (13.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
...p Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def"],
# [[1, 3], :on_sp, " "],
# [[1, 4], :on_ident, "m"],
# [[1, 5], :on_lparen, "("],
# [[1, 6], :on_ident, "a"],
# [[1, 7], :on_rparen, ")"],
# [[1, 8], :on_sp, " "],
# [[1, 9], :on_kw, "nil"],
# [[1, 12], :... -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1 , raise _ errors: false) -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (13.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。
...aise_errors が true で、src に文法エラーがある場合に発生します。
//emlist[][ruby]{
require 'ripper'
pp Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", FNAME],
# [[1, 3], :on_sp, " ", FNAME],
# [[1, 4], :on_ident, "m", ENDFN],
# [[1, 5], :on_lparen, "......, BEG|LABEL],
# [[1, 6], :on_ident, "a", ARG],
# [[1, 7], :on_rparen, ")", ENDFN],
# [[1, 8], :on_sp, " ", BEG],
# [[1, 9], :on_kw, "nil", END],
# [[1, 12], :on_sp, " ", END],
# on_kw, "end", END
Ripper.lex("def req(true) end", raise_errors: true)
# => SyntaxError (syntax er... -
Ripper
. tokenize(src , filename = & # 39;-& # 39; , lineno = 1) -> [String] (13.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。
...指定します。省略すると 1 になります。
//emlist[][ruby]{
require 'ripper'
p Ripper.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", " ", "nil", " ", "end"]
//}
Ripper.tokenize は空白やコメントも含め、
元の文字列にある文字は 1 バイトも... -
Ripper
. tokenize(src , filename = & # 39;-& # 39; , lineno = 1 , raise _ errors: false) -> [String] (13.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。
...c に文法エラーがある場合に発生します。
//emlist[][ruby]{
require 'ripper'
p Ripper.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", " ", "nil", " ", "end"]
Ripper.tokenize("def req(true) end", raise_errors: true)
# => SyntaxError (syntax error, unexpected `true... -
Kernel
. # eval(expr) -> object (7.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...す。
@param lineno 文字列 expr が書かれていると想定する先頭の行番号を整数で指定します。
//emlist[例][ruby]{
a = nil
eval('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (7.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...す。
@param lineno 文字列 expr が書かれていると想定する先頭の行番号を整数で指定します。
//emlist[例][ruby]{
a = nil
eval('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX...