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
|
# File 'lib/statsailr/block_builder/sts_block.rb', line 5
def interpret_escape_sequences(str)
new_str = ""
str_array = str.split(//)
idx = 0
while( idx < str_array.size) do
c = str_array[idx]
if(c == "\\")
idx = idx + 1
c = str_array[idx]
raise "Tokenizer error: double quoted string literal should never end with \\" if idx >= str_array.size
case c
when 't'
new_str << "\t"
when 'n'
new_str << "\n"
when 'r'
new_str << "\r"
when "\\"
new_str << "\\"
when "\'"
new_str << "\'"
when "\""
new_str << "\""
when '?'
new_str << '?'
else
new_str << c
end
else
new_str << c
end
idx = idx + 1
end
return new_str
end
|