ライブラリ
- ビルトイン (1)
- prism (1)
- ripper (20)
-
ripper
/ filter (8) -
ripper
/ lexer (8) -
ripper
/ sexp (2)
クラス
- Ripper (25)
-
Ripper
:: Filter (7) -
Ripper
:: Lexer (3)
モジュール
- Prism (1)
キーワード
- AbstractSyntaxTree (1)
- EVENTS (1)
- Filter (1)
- Lexer (1)
-
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 3
. 3 . 0 (1) -
PARSER
_ EVENTS (1) -
PARSER
_ EVENT _ TABLE (1) - Ripper (1)
-
SCANNER
_ EVENTS (1) -
SCANNER
_ EVENT _ TABLE (1) - Version (1)
- column (2)
-
compile
_ error (1) - encoding (1)
-
end
_ seen? (1) - filename (2)
- lex (3)
- lineno (2)
- new (2)
-
on
_ XXX (1) -
on
_ default (1) - parse (4)
-
ripper
/ filter (1) -
ripper
/ lexer (1) -
ripper
/ sexp (1) -
ruby 1
. 9 feature (1) - sexp (1)
-
sexp
_ raw (1) - slice (1)
-
token
_ match (1) - tokenize (2)
- warn (1)
- warning (1)
- yydebug (1)
- yydebug= (1)
検索結果
先頭5件
-
ripper (114001.0)
-
Ruby プログラムを解析するためのライブラリです。
Ruby プログラムを解析するためのライブラリです。 -
Ripper
. new(src , filename = "(ripper)" , lineno = 1) -> Ripper (51730.0) -
Ripper オブジェクトを作成します。
Ripper オブジェクトを作成します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "(ripper)" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。
src の解析を行うには更に [m:Ripper#parse] などの呼び出しが必要です。
- **SEE** [m:Ripper.parse], [m:Ripper#parse] -
Ripper
. parse(src , filename = & # 39;(ripper)& # 39; , lineno = 1) -> nil (51343.0) -
指定された文字列を解析します。常に nil を返します。
指定された文字列を解析します。常に nil を返します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "(ripper)" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。
- **SEE** [m:Ripper#parse] -
Ripper
:: EVENTS -> [Symbol] (51049.0) -
ripper の扱う全てのイベント ID (シンボル) のリストを返します。
ripper の扱う全てのイベント ID (シンボル) のリストを返します。 -
Ripper
:: Version -> String (51049.0) -
ripper のバージョンを文字列で返します。
ripper のバージョンを文字列で返します。 -
Ripper
# parse -> nil (51019.0) -
自身の持つ Ruby プログラムを解析します。常に nil を返します。
自身の持つ Ruby プログラムを解析します。常に nil を返します。
サブクラスでオーバライドして使用します。Ruby プログラムの解析は行いますが、そのままでは解析結果は利用できません。サブクラスでイベントハンドラの定義や本メソッドの戻り値の追加などで対応する必要があります。
- **SEE** [m:Ripper.parse] -
Ripper
# column -> Integer | nil (51001.0) -
現在のトークンの桁番号を 0 から始まる数値で返します。
現在のトークンの桁番号を 0 から始まる数値で返します。
このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベントハンドラの中で self.column を実行してください。 -
Ripper
# compile _ error(msg) -> nil (51001.0) -
解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されます。
解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されます。
- **param** `msg` -- エラーメッセージ。
サブクラスでオーバライドして使用します。 -
Ripper
# encoding -> Encoding (51001.0) -
自身の持つ Ruby プログラムの文字エンコーディングを返します。
自身の持つ Ruby プログラムの文字エンコーディングを返します。
Ruby プログラムの解析前は [m:Encoding::US_ASCII] を返します。 -
Ripper
# end _ seen? -> bool (51001.0) -
これまでに解析した Ruby プログラムの中に `__END__` が含まれていたかどうかを返します。
これまでに解析した Ruby プログラムの中に `__END__` が含まれていたかどうかを返します。 -
Ripper
# filename -> String (51001.0) -
自身の持つ Ruby プログラムのファイル名を文字列で返します。
自身の持つ Ruby プログラムのファイル名を文字列で返します。 -
Ripper
# lineno -> Integer | nil (51001.0) -
現在のトークンの行番号を 1 から始まる数値で返します。
現在のトークンの行番号を 1 から始まる数値で返します。
このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベントハンドラの中で self.lineno を実行してください。 -
Ripper
# warn(fmt , *args) -> nil (51001.0) -
解析した Ruby プログラムの中に警告([m:$-w] が true の時だけ出力される警告)を出力するようなものがあった場合に実行されます。
解析した Ruby プログラムの中に警告([m:$-w] が true の時だけ出力される警告)を出力するようなものがあった場合に実行されます。
- **param** `fmt` -- エラーメッセージのフォーマット文字列です。
- **param** `args` -- エラーメッセージのフォーマットされる引数です。
サブクラスでオーバライドして使用します。
引数のエラーメッセージは printf フォーマットに従って渡されます。 -
Ripper
# warning(fmt , *args) -> nil (51001.0) -
解析した Ruby プログラムの中に重要な警告([m:$-w] が false の時だけ出力される警告)を出力するようなものがあった場合に実行されます。
解析した Ruby プログラムの中に重要な警告([m:$-w] が false の時だけ出力される警告)を出力するようなものがあった場合に実行されます。
- **param** `fmt` -- エラーメッセージのフォーマット文字列です。
- **param** `args` -- エラーメッセージのフォーマットされる引数です。
サブクラスでオーバライドして使用します。
引数のエラーメッセージは printf フォーマットに従って渡されます。 -
Ripper
# yydebug -> bool (51001.0) -
yydebugの構文解析器の追跡機能が有効か無効かを返します。
yydebugの構文解析器の追跡機能が有効か無効かを返します。 -
Ripper
# yydebug=(flag) (51001.0) -
yydebugの構文解析器の追跡機能が有効か無効かを指定します。
yydebugの構文解析器の追跡機能が有効か無効かを指定します。
- **param** `flag` -- true か false を指定します。 -
Ripper
:: PARSER _ EVENTS -> [Symbol] (51001.0) -
パーサイベントのイベント ID (シンボル) のリストを返します。
パーサイベントのイベント ID (シンボル) のリストを返します。 -
Ripper
:: PARSER _ EVENT _ TABLE -> {Symbol => Integer} (51001.0) -
パーサイベントのイベント ID (シンボル) と対応するハンドラの引数の個数のリストをハッシュで返します。
パーサイベントのイベント ID (シンボル) と対応するハンドラの引数の個数のリストをハッシュで返します。 -
Ripper
:: SCANNER _ EVENTS -> [Symbol] (51001.0) -
スキャナイベントのイベント ID (シンボル) のリストを返します。
スキャナイベントのイベント ID (シンボル) のリストを返します。 -
Ripper
:: SCANNER _ EVENT _ TABLE -> {Symbol => Integer} (51001.0) -
スキャナイベントのイベント ID (シンボル) と対応するハンドラの引数の個数のリストをハッシュで返します。
スキャナイベントのイベント ID (シンボル) と対応するハンドラの引数の個数のリストをハッシュで返します。 -
Ripper (42019.0)
-
Ruby プログラムのパーサです。
Ruby プログラムのパーサです。
Ruby プログラムをテキストとして扱いたい場合、例えばソース色付けを行いたい場合は、
[c:Ripper::Filter] クラスを使うとよいでしょう。 -
Ripper
. lex(src , filename = & # 39;-& # 39; , lineno = 1 , raise _ errors: false) -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (27463.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし [m:Ripper.tokenize] と違い、トークンの種類と位置情報も付属します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
ただし [m:Ripper.tokenize] と違い、トークンの種類と位置情報も付属します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "-" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。
- **param** `raise_errors` -- true を... -
Ripper
. token _ match(src , pattern) -> Ripper :: TokenPattern :: MatchData | nil (27307.0) -
Ruby プログラム src に対してパターン pattern をマッチし、マッチデータを返します。
Ruby プログラム src に対してパターン pattern をマッチし、マッチデータを返します。
ライブラリ内部で使用します。 -
Ripper
. sexp(src , filename = & # 39;-& # 39; , lineno = 1) -> object (27112.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
Ruby プログラム str を解析して S 式のツリーにして返します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "-" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
```ruby title="例"
require 'ripper'
require '... -
Ripper
. sexp _ raw(src , filename = & # 39;-& # 39; , lineno = 1) -> object (27094.0) -
Ruby プログラム str を解析して S 式のツリーにして返します。
Ruby プログラム str を解析して S 式のツリーにして返します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "-" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。
実行結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。
```ruby title="例"
require 'ripper'
require '... -
Ripper
. slice(src , pattern , n = 0) -> String | nil (27076.0) -
Ruby プログラム src のうち、パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
Ruby プログラム src のうち、パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
マッチしない場合は nil を返します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `pattern` -- 取り出すプログラムのパターンを文字列で指定します。
- **param** `n` -- pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必要な時に指定します。省略すると 0 (pattern 全体)になります。
pattern は Ripper ... -
Ripper
. tokenize(src , filename = & # 39;-& # 39; , lineno = 1 , raise _ errors: false) -> [String] (27076.0) -
Ruby プログラム str をトークンに分割し、そのリストを返します。
Ruby プログラム str をトークンに分割し、そのリストを返します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "-" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。
- **param** `raise_errors` -- true を指定すると、src にエラーがある場合に例外(SyntaxError)を発生させます。省略すると... -
ripper
/ filter (18001.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのライブラリです。
イベントドリブンスタイルで Ruby プログラムを加工するためのライブラリです。 -
ripper
/ lexer (18001.0) -
Ruby プログラムをトークンのリストとして処理するためのライブラリです。
Ruby プログラムをトークンのリストとして処理するためのライブラリです。 -
ripper
/ sexp (18001.0) -
Ruby プログラムを S 式として扱うためのライブラリです。
Ruby プログラムを S 式として扱うためのライブラリです。 -
Ripper
:: Filter . new(src , filename = & # 39;-& # 39; , lineno = 1) -> Ripper :: Filter (9355.0) -
Ripper::Filter オブジェクトを作成します。
Ripper::Filter オブジェクトを作成します。
- **param** `src` -- Ruby プログラムを文字列か IO オブジェクトで指定します。
- **param** `filename` -- src のファイル名を文字列で指定します。省略すると "-" になります。
- **param** `lineno` -- src の開始行番号を指定します。省略すると 1 になります。 -
Ripper
:: Lexer # parse -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (9352.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。ただし [m:Ripper::Lexer#lex] と違い、結果をソートしません。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。ただし [m:Ripper::Lexer#lex] と違い、結果をソートしません。
ライブラリ内部で使用します。 -
Ripper
:: Lexer # lex -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (9322.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
ライブラリ内部で使用します。 [m:Ripper.lex] を使用してください。 -
Ripper
:: Filter # on _ XXX(token , data) -> object (9091.0) -
各種スキャナイベントを実行します。
各種スキャナイベントを実行します。
実際には on_XXX というメソッドは存在しません。「XXX」の部分を
[m:Ripper::SCANNER_EVENTS] にあるスキャナイベントに読み替えてください。
- **param** `token` -- 現在のトークンが指定されます。
- **param** `data` -- 前のイベントハンドラの戻り値です。最初のイベントの場合は
[m:Ripper::Filter#parse] の引数になります。
オーバライドしなかった場合は on_default が実行されます。
このメソッドの戻り値は次のイベント... -
Ripper
:: Filter (9055.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
このクラスを継承して、必要なイベントに対応するメソッドを定義して使用します。
### 使用例
```ruby
require 'ripper'
require 'cgi'
class Ruby2HTML < Ripper::Filter
def on_default(event, tok, f)
f << CGI.escapeHTML(tok)
end
def on_comment(tok, f)
f << %Q[<span class="comment">#{CGI.escap... -
Ripper
:: Filter # on _ default(event , token , data) -> object (9055.0) -
イベントハンドラが未定義のイベントが実行された場合に実行されるイベントハンドラです。
イベントハンドラが未定義のイベントが実行された場合に実行されるイベントハンドラです。
- **param** `event` -- 実行されたイベントを :on_XXX 形式のシンボルで指定されます。
- **param** `token` -- 現在のトークンが指定されます。
- **param** `data` -- 前のイベントハンドラの戻り値です。最初のイベントの場合は
[m:Ripper::Filter#parse] の引数になります。
このメソッドの戻り値は次のイベントハンドラの data 引数に渡されます。
on_default をオーバライドし... -
Ripper
:: Filter # parse(init = nil) -> object (9037.0) -
自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処理を行った結果を返します。
自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処理を行った結果を返します。
- **param** `init` -- 任意の値を指定できます。この値がイベントハンドラに渡されていきます。
引数 init を初期値としてイベントハンドラに渡されていきます。各種イベントハンドラの戻り値は次のイベントハンドラに渡されます。
[m:Enumerable#inject] のように、最終的な結果を戻り値として返します。
- **SEE** [m:Ripper::Filter#on_default], [m:Ripper::Filter#on_XXX] -
Ripper
:: Lexer # tokenize -> [String] (9019.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
ライブラリ内部で使用します。 [m:Ripper.tokenize] を使用してください。 -
Ripper
:: Filter # column -> Integer | nil (9001.0) -
現在のトークンの桁番号を 0 から始まる数値で返します。
現在のトークンの桁番号を 0 から始まる数値で返します。
このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベントハンドラの中で self.column を実行してください。 -
Ripper
:: Filter # filename -> String (9001.0) -
Ruby プログラムのファイル名を文字列で返します。
Ruby プログラムのファイル名を文字列で返します。 -
Ripper
:: Filter # lineno -> Integer | nil (9001.0) -
現在のトークンの行番号を 1 から始まる数値で返します。
現在のトークンの行番号を 1 から始まる数値で返します。
このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベントハンドラの中で self.lineno を実行してください。 -
Ripper
:: Lexer (9001.0) -
Ruby プログラムの字句解析器です。
Ruby プログラムの字句解析器です。 -
Prism
. # lex(source , **options) -> Prism :: LexResult (115.0) -
`source` を字句解析し、[c:Prism::LexResult] のインスタンスを返します。 `value` は `[トークン, 直前からの字句解析器の状態(Integer)]` という 2 要素配列の配列です。これは [c:Ripper] の [m:Ripper.lex] の戻り値の形式に近いものになっています。オプションは [m:Prism?.parse] と同じです。
`source` を字句解析し、[c:Prism::LexResult] のインスタンスを返します。
`value` は `[トークン, 直前からの字句解析器の状態(Integer)]` という
2 要素配列の配列です。これは [c:Ripper] の [m:Ripper.lex] の戻り値の形式に近いものになっています。オプションは [m:Prism?.parse] と同じです。
- **param** `source` -- 解析する Ruby プログラムの文字列を指定します。
- **param** `options` -- [m:Prism?.parse] を参照してください。
... -
NEWS for Ruby 2
. 5 . 0 (91.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...FrozenError]
- 新しい例外クラスです [feature:13224]
### 標準添付ライブラリの更新
- [lib:bigdecimal]
- BigDecimal 1.3.4 に更新
- [m:BigDecimal::VERSION] を追加
- 非推奨(1.4.0で削除予定)
- BigDecimal.new
- BigDecimal.ver
- [m:BigD... -
ruby 1
. 9 feature (55.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
- カテゴリ
- \[ruby]: ruby インタプリタの変更
- \[api]: 拡張ライブラリ API
- \[lib]: ライブラリ
- \[parser]: 文法の変更
- \[regexp]: 正規表現の機能拡張
- \[marshal]: Marshal ファイルのフォーマッ... -
NEWS for Ruby 3
. 3 . 0 (19.0) -
NEWS for Ruby 3.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...- Refinement#refined_class の代替として Refinement#target が追加されました。 Refinement#refined_class は非推奨となり、Ruby 3.4 で削除予定です。[feature:19714]
- [c:Regexp]
- Ruby 3.2で導入されたReDoS対策のメモ化最適化が先読み・後読みや......- abbrev 0.1.2
- base64 0.2.0
- benchmark 0.3.0
- bigdecimal 3.1.5
- bundler 2.5.3
- cgi 0.4.1
- csv 3.2.8
- date 3.3.4
- delegate 0.3.1
- drb 2.2.0
- english 0.8.0
- erb 4.0.3
- error_highlight 0.6.0
- etc 1.4.3
- fcntl 1.1.0
- fiddle.......0
- rake 13.1.0
- test-unit 3.6.1
- rexml 3.2.6
- rss 0.3.0
- net-ftp 0.3.3
- net-imap 0.4.9
- net-smtp 0.4.0
- rbs 3.4.0
- typeprof 0.21.9
- debug 1.9.1
default gems と bundled gems の詳細については Logger の GitHub Releases(<https://github.com/ru... -
RubyVM
:: AbstractSyntaxTree (19.0) -
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
抽象構文木は[c:RubyVM::AbstractSyntaxTree::Node]クラスのインスタンスとして表されます。
このモジュールはMRIの抽象構文木の実装の詳細を表します。
このモジュールは実験的であり、安定したAPIではないため、予告なしに変更される可能性があります。
例えば、子要素の順序は保証されておらず、子要素の数は変更される可能性があります。
また子要素に名前でアクセスする方法は提供されていません。
もし安定したAPIやMRI以外の実装で抽象構文木を扱いたい場合、
parser gem (<htt...
