1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
<!DOCTYPE html>
<html>
<head>
<title>Ruby Test</title>
<link href="../themes/css/blackboard.css" rel="stylesheet">
</head>
<body>
<pre>
<code data-language="ruby"># Comments
not_comment # comment
=begin
comment
=end
=begin
not_comment
=end
#string interpolation
12.times do |x|
"Chapter #{x+1}:"
end
# Strings
'string'
"string"
%q(string)
%q[string]
%q{string}
%q<string>
%q|string|
%Q(string)
%Q[string]
%Q{string}
%Q<string>
%Q|string|
foo('string', 'string')
"unsupported\"string"
# Heredocs
if true
DOC = foo(<<-DOC)
heredoc
xxx
xxx
DOC
# ^heredoc ends here
DOC
end
if true
DOC = foo(<<DOC)
heredoc
xxx
xxx
DOC
DOC
# ^heredoc ends here
end
# Symbols
:symbol
:'long symbol'
:"long symbol"
# Regular Expressions
/regex/xxx
%r(regex)xxx
%r[regex]xxx
%r{regex}xxx
%r<regex>xxx
%r|regex|xxx
foo(/regex/xxx, /regex/xxx)
@path.sub(/^#{@root}/, '')
/unsupported\/regex/
# Classes
class Test < Object
attr_accessor :z
end
x = Test.method(1, 2)
x = Test::method(1, 2)
x = Test::CONSTANT
# Methods
def method(x, y)
z = 3
end
def self.method(x, y)
z = 3
end
# Sigils
$stderr.puts 3
@@foo = 3
@foo = 3
# Data Structures
[:value]
['value']
{:key=>'value'}
{:key => 'value'}
{'key' => 'value'}
{key: 'value'}
foo(:key => 'value')
foo(key: 'value')
# Classes, modules, etc.
module Foo
CONSTANT = 'An \'escaped\' string'
class Bar
def self.something
begin
1 + 1
rescue StandardError => e
puts "Whoa buddy!"
end
class << self
def something
1 + 1
end
end
def something
end
end
end
class MyClass < ::Foo::Bar
end
foo(::Foo::Bar.something)
__END__
if (parsed)
"this should not be classified as a string"
else
raise "Epic Fail"
end
</code></pre>
<script src="../dist/rainbow.js"></script>
<script src="../src/language/generic.js"></script>
<script src="../src/language/ruby.js"></script>
</body>
</html>
|