Skip to content

Instantly share code, notes, and snippets.

@lnznt
Created May 1, 2012 02:55
Show Gist options
  • Save lnznt/2564621 to your computer and use it in GitHub Desktop.
Save lnznt/2564621 to your computer and use it in GitHub Desktop.
[sample] the % notation [ %!...! ] (Ruby)
#!/usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
# $ ruby -v
# ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
#
p %!abc!
p %"abc"
p %#abc#
p %$abc$
p %%abc%
p %&abc&
p %'abc'
p %(abc)
p %)abc)
p %*abc*
p %+abc+
p %,abc,
p %-abc-
p %.abc.
p %/abc/
p %:abc:
p %;abc;
p %<abc>
#p %=abc= ### NG
p %>abc>
p %?abc?
p %@abc@
p %[abc]
p %\abc\
p %]abc]
p %^abc^
p %_abc_
p %`abc`
p %{abc}
p %|abc|
p %}abc}
p %~abc~
p ( %!abc! )
p ( %"abc" )
p ( %#abc# )
p ( %$abc$ )
p ( %%abc% )
p ( %&abc& )
p ( %'abc' )
p ( %(abc) )
p ( %)abc) )
p ( %*abc* )
p ( %+abc+ )
p ( %,abc, )
p ( %-abc- )
p ( %.abc. )
p ( %/abc/ )
p ( %:abc: )
p ( %;abc; )
p ( %<abc> )
p ( %=abc= )
p ( %>abc> )
p ( %?abc? )
p ( %@abc@ )
p ( %[abc] )
p ( %\abc\ )
p ( %]abc] )
p ( %^abc^ )
p ( %_abc_ )
p ( %`abc` )
p ( %{abc} )
p ( %|abc| )
p ( %}abc} )
p ( %~abc~ )
=begin
string = "abc"
q = ""
#wrap = -> s { s }
wrap = -> s { "( #{s} )" }
(0x21..0x7e).map(&:chr)
.grep(/[_\W]/)
.map {|c| [c, {"(" => ")",
"<" => ">",
"[" => "]",
"{" => "}"}[c] || c] }
.map {|c1,c2| "\%#{q}#{c1}#{string}#{c2}" }
.map(&wrap)
.each {|s| puts "p #{s}" }
=end
# vi:set ts=2 sw=2 et:
#!/usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
# $ ruby -v
# ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
#
x = "xyz"
p %!abc#{x}!
p %"abc#{x}"
#p %#abc#{x}# ### Syntax Error
p %$abc#{x}$
p %%abc#{x}%
p %&abc#{x}&
p %'abc#{x}'
p %(abc#{x})
p %)abc#{x})
p %*abc#{x}*
p %+abc#{x}+
p %,abc#{x},
p %-abc#{x}-
p %.abc#{x}.
p %/abc#{x}/
p %:abc#{x}:
p %;abc#{x};
p %<abc#{x}>
#p %=abc#{x}= ### NG
p %>abc#{x}>
p %?abc#{x}?
p %@abc#{x}@
p %[abc#{x}]
p %\abc#{x}\
p %]abc#{x}]
p %^abc#{x}^
p %_abc#{x}_
p %`abc#{x}`
p %{abc#{x}}
p %|abc#{x}|
p %}abc#{x}}
p %~abc#{x}~
p ( %!abc#{x}! )
p ( %"abc#{x}" )
#p ( %#abc#{x}# ) ### Syntax Error
p ( %$abc#{x}$ )
p ( %%abc#{x}% )
p ( %&abc#{x}& )
p ( %'abc#{x}' )
p ( %(abc#{x}) )
p ( %)abc#{x}) )
p ( %*abc#{x}* )
p ( %+abc#{x}+ )
p ( %,abc#{x}, )
p ( %-abc#{x}- )
p ( %.abc#{x}. )
p ( %/abc#{x}/ )
p ( %:abc#{x}: )
p ( %;abc#{x}; )
p ( %<abc#{x}> )
p ( %=abc#{x}= )
p ( %>abc#{x}> )
p ( %?abc#{x}? )
p ( %@abc#{x}@ )
p ( %[abc#{x}] )
p ( %\abc#{x}\ )
p ( %]abc#{x}] )
p ( %^abc#{x}^ )
p ( %_abc#{x}_ )
p ( %`abc#{x}` )
p ( %{abc#{x}} )
p ( %|abc#{x}| )
p ( %}abc#{x}} )
p ( %~abc#{x}~ )
=begin
string = 'abc#{x}'
q = ""
#wrap = -> s { s }
wrap = -> s { "( #{s} )" }
(0x21..0x7e).map(&:chr)
.grep(/[_\W]/)
.map {|c| [c, {"(" => ")",
"<" => ">",
"[" => "]",
"{" => "}"}[c] || c] }
.map {|c1,c2| "\%#{q}#{c1}#{string}#{c2}" }
.map(&wrap)
.each {|s| puts "p #{s}" }
=end
# vi:set ts=2 sw=2 et:
#!/usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
# $ ruby -v
# ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
#
x = "xyz"
p %!abc%s! % x
p %"abc%s" % x
p %#abc%s# % x
p %$abc%s$ % x
#p %%abc%s% % x ### Syntax Error
p %&abc%s& % x
p %'abc%s' % x
p %(abc%s) % x
p %)abc%s) % x
p %*abc%s* % x
p %+abc%s+ % x
p %,abc%s, % x
p %-abc%s- % x
p %.abc%s. % x
p %/abc%s/ % x
p %:abc%s: % x
p %;abc%s; % x
p %<abc%s> % x
#p %=abc%s= % x ### NG
p %>abc%s> % x
p %?abc%s? % x
p %@abc%s@ % x
p %[abc%s] % x
p %\abc%s\ % x
p %]abc%s] % x
p %^abc%s^ % x
p %_abc%s_ % x
p %`abc%s` % x
p %{abc%s} % x
p %|abc%s| % x
p %}abc%s} % x
p %~abc%s~ % x
p ( %!abc%s! % x )
p ( %"abc%s" % x )
p ( %#abc%s# % x )
p ( %$abc%s$ % x )
#p ( %%abc%s% % x ) ### Syntax Error
p ( %&abc%s& % x )
p ( %'abc%s' % x )
p ( %(abc%s) % x )
p ( %)abc%s) % x )
p ( %*abc%s* % x )
p ( %+abc%s+ % x )
p ( %,abc%s, % x )
p ( %-abc%s- % x )
p ( %.abc%s. % x )
p ( %/abc%s/ % x )
p ( %:abc%s: % x )
p ( %;abc%s; % x )
p ( %<abc%s> % x )
p ( %=abc%s= % x )
p ( %>abc%s> % x )
p ( %?abc%s? % x )
p ( %@abc%s@ % x )
p ( %[abc%s] % x )
p ( %\abc%s\ % x )
p ( %]abc%s] % x )
p ( %^abc%s^ % x )
p ( %_abc%s_ % x )
p ( %`abc%s` % x )
p ( %{abc%s} % x )
p ( %|abc%s| % x )
p ( %}abc%s} % x )
p ( %~abc%s~ % x )
=begin
string = 'abc%s'
q = ""
#wrap = -> s { s }
wrap = -> s { "( #{s} )" }
(0x21..0x7e).map(&:chr)
.grep(/[_\W]/)
.map {|c| [c, {"(" => ")",
"<" => ">",
"[" => "]",
"{" => "}"}[c] || c] }
.map {|c1,c2| "\%#{q}#{c1}#{string}#{c2} % x" }
.map(&wrap)
.each {|s| puts "p #{s}" }
=end
# vi:set ts=2 sw=2 et:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment