diff --git a/source/posts/15-207-ways-to-rome.html.md b/source/posts/15-207-ways-to-rome.html.md new file mode 100644 index 0000000..64f4b63 --- /dev/null +++ b/source/posts/15-207-ways-to-rome.html.md @@ -0,0 +1,262 @@ +--- +title: 207 Ways To Rome +date: 2015-05-15 +tags: syntax, strings +--- + +All Ruby syntaxes¹ that represent the **R** string literal: + +ARTICLE + +## (1) Double Quoted Literal + +"R" + +## (1) Single Quoted Literal + +'R' + +## (1) Single Char Literals + +?R + +## (6) Heredocs + +
<<"STRING"
+R
+STRING
+ +
<<'STRING'
+R
+STRING
+ +
<<STRING
+R
+STRING
+ +
<<-"STRING"
+R
+STRING
+ +
<<-'STRING'
+R
+STRING
+ +
<<-STRING
+R
+STRING
+ +## (66) Percent Syntax / Q + +%Q\0R\0 +%Q\x01R\x01 +%Q\x02R\x02 +%Q\x03R\x03 +%Q\x04R\x04 +%Q\x05R\x05 +%Q\x06R\x06 +%Q\aR\a +%Q\bR\b +%Q\tR\t +%Q\nR\n +%Q\vR\v +%Q\fR\f +%Q\rR\r +%Q\x0ER\x0E +%Q\x0FR\x0F +%Q\x10R\x10 +%Q\x11R\x11 +%Q\x12R\x12 +%Q\x13R\x13 +%Q\x14R\x14 +%Q\x15R\x15 +%Q\x16R\x16 +%Q\x17R\x17 +%Q\x18R\x18 +%Q\x19R\x19 +%Q\x1AR\x1A +%Q\eR\e +%Q\x1CR\x1C +%Q\x1DR\x1D +%Q\x1ER\x1E +%Q\x1FR\x1F +%Q R +%Q!R! +%Q"R" +%Q#R# +%Q$R$ +%Q%R% +%Q&R& +%Q'R' +%Q(R) +%Q)R) +%Q*R* +%Q+R+ +%Q,R, +%Q-R- +%Q.R. +%Q/R/ +%Q:R: +%Q;R; +%Q<R> +%Q=R= +%Q>R> +%Q?R? +%Q@R@ +%Q[R] +%Q\\R\\ +%Q]R] +%Q^R^ +%Q_R_ +%Q`R` +%Q{R} +%Q|R| +%Q}R} +%Q~R~ +%Q\x7FR\x7F + +## (66) Percent Syntax / q + +%q\0R\0 +%q\x01R\x01 +%q\x02R\x02 +%q\x03R\x03 +%q\x04R\x04 +%q\x05R\x05 +%q\x06R\x06 +%q\aR\a +%q\bR\b +%q\tR\t +%q\nR\n +%q\vR\v +%q\fR\f +%q\rR\r +%q\x0ER\x0E +%q\x0FR\x0F +%q\x10R\x10 +%q\x11R\x11 +%q\x12R\x12 +%q\x13R\x13 +%q\x14R\x14 +%q\x15R\x15 +%q\x16R\x16 +%q\x17R\x17 +%q\x18R\x18 +%q\x19R\x19 +%q\x1AR\x1A +%q\eR\e +%q\x1CR\x1C +%q\x1DR\x1D +%q\x1ER\x1E +%q\x1FR\x1F +%q R +%q!R! +%q"R" +%q#R# +%q$R$ +%q%R% +%q&R& +%q'R' +%q(R) +%q)R) +%q*R* +%q+R+ +%q,R, +%q-R- +%q.R. +%q/R/ +%q:R: +%q;R; +%q<R> +%q=R= +%q>R> +%q?R? +%q@R@ +%q[R] +%q\\R\\ +%q]R] +%q^R^ +%q_R_ +%q`R` +%q{R} +%q|R| +%q}R} +%q~R~ +%q\x7FR\x7F + +## (66) Percent Syntax / None + +%\0R\0 +%\x01R\x01 +%\x02R\x02 +%\x03R\x03 +%\x04R\x04 +%\x05R\x05 +%\x06R\x06 +%\aR\a +%\bR\b +%\tR\t +%\nR\n +%\vR\v +%\fR\f +%\rR\r +%\x0ER\x0E +%\x0FR\x0F +%\x10R\x10 +%\x11R\x11 +%\x12R\x12 +%\x13R\x13 +%\x14R\x14 +%\x15R\x15 +%\x16R\x16 +%\x17R\x17 +%\x18R\x18 +%\x19R\x19 +%\x1AR\x1A +%\eR\e +%\x1CR\x1C +%\x1DR\x1D +%\x1ER\x1E +%\x1FR\x1F +% R +%!R! +%"R" +%#R# +%$R$ +%%R% +%&R& +%'R' +%(R) +%)R) +%*R* +%+R+ +%,R, +%-R- +%.R. +%/R/ +%:R: +%;R; +%<R> +%=R= +%>R> +%?R? +%@R@ +%[R] +%\\R\\ +%]R] +%^R^ +%_R_ +%`R` +%{R} +%|R| +%}R} +%~R~ +%\x7FR\x7F + +
+ +¹ You might need a [hex editor](https://en.wikipedia.org/wiki/Hex_editor), or [`eval`](http://ruby-doc.org/core-2.2.2/Kernel.html#method-i-eval), to be able to use non-printable string delimiters. + +## Resources + +- [String Literals](http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#Strings)