Sha256: e3676161717ee84f19e3c05eae41f12b0c7c2e05408df87d2388237e504fe576

Contents?: true

Size: 796 Bytes

Versions: 9

Compression:

Stored size: 796 Bytes

Contents

require 'coderay'

c_code = "if (*p == '{') nest++;"
puts 'C Code: ' + c_code
puts

c_scanner = CodeRay::Scanners[:c].new c_code

puts '> print only operators:'
for text, kind in c_scanner
	print text if kind == :operator
end
puts
puts '-' * 30
puts

ruby_code = %q!ruby_code(:can, BE, %r[q[ui]te #{ /comple/x },] => $-s, &?\xee)!
puts 'Ruby Code: ' + ruby_code
puts

ruby_scanner = CodeRay::Scanners[:ruby].new ruby_code

puts '> has a string?'
puts ruby_scanner.
	any? { |text, kind| kind == :string }
puts

puts '> number of regexps?'
puts ruby_scanner.
	select { |token| token == [:open, :regexp] }.size
puts

puts '> has a string?'
puts ruby_scanner.
	reject { |text, kind| not text.is_a? String }.
	map { |text, kind| %("#{text}" (#{kind})) }.join(', ')

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
coderay-0.5.0.115 ./demo/demo_scanner.rb
coderay-0.7.1.147 ./demo/demo_scanner.rb
coderay-0.5.0.121 ./demo/demo_scanner.rb
coderay-0.4.5.73 ./demo/demo_scanner.rb
coderay-0.7.2.176 ./demo/demo_scanner.rb
coderay-0.4.3.48 ./demo/demo_scanner.rb
coderay-0.5.0.100 ./demo/demo_scanner.rb
coderay-0.7.2.165 ./demo/demo_scanner.rb
coderay-0.7.2.168 ./demo/demo_scanner.rb