Skip to content

Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →

class method

Ripper.tokenize

tokenize(src, filename = '-', lineno = 1, **kw)

Tokenizes the Ruby program and returns an array of strings. The filename and lineno arguments are mostly ignored, since the return value is just the tokenized input. By default, this method does not handle syntax errors in src, use the raise_errors keyword to raise a SyntaxError for an error in src.

Example
p Ripper.tokenize("def m(a) nil end")
   # => ["def", " ", "m", "(", "a", ")", " ", "nil", " ", "end"]
See also .slice #compile_error .sexp_raw #warn also in 4.1 · 4.0 · 3.4 · 3.2 · 3.1 · 3.0