What does the construct "?/" refer to in Ruby?
January 14, 2008 2:09 PM Subscribe
What does the construct "?/" refer to in Ruby?
The Pragmatic guide for TextMate includes an code fragment that has me stumped. It's essentially "
The Pragmatic guide for TextMate includes an code fragment that has me stumped. It's essentially "
if foo == ?/ then bar
" What is the ?/
, though?
Google is being singularly unhelpful here, since it doesn't like to search for punctuation. The book's errata offers no further hints.irb(main):001:0> ?/ => 47 irb(main):002:0> ?/.class => Fixnum
Best answer: Yup, it's shorthand for getting the bytecode for that character, primarily because:
In Ruby 1.9, ?f will return a string "f", as will "foo"[0], since String is now aware of charsets and encodings:
posted by Freaky at 3:13 PM on January 14, 2008
"foo"[0] # => 102
?f # => 102
"foo"[0] == ?f # => true
In Ruby 1.9, ?f will return a string "f", as will "foo"[0], since String is now aware of charsets and encodings:
"foo"[0] # => "f"
?f # => "f"
"foo"[0] == ?f # => true
posted by Freaky at 3:13 PM on January 14, 2008
In more detail, the question mark before a bare character gives you the ascii value of that character. The fact you chose question mark just makes it look cooler than doing ?a, or ?z. Fire up irb and test it out.
posted by cschneid at 3:15 PM on January 14, 2008
posted by cschneid at 3:15 PM on January 14, 2008
Best answer: Not that this helps answer the main question, but Google Code Search will search for code snippets. Here's a search that looks for "?/" in Ruby code spippets.
posted by philomathoholic at 3:17 PM on January 14, 2008
posted by philomathoholic at 3:17 PM on January 14, 2008
Response by poster: Thanks philomathaholic, that tip actually helps more than you think.
posted by nakedcodemonkey at 4:26 PM on January 14, 2008
posted by nakedcodemonkey at 4:26 PM on January 14, 2008
Response by poster: Okay, now the code block is clear. It's searching for xml-ish elements by testing whether foo[1] is a forward slash. Thanks all!
posted by nakedcodemonkey at 4:39 PM on January 14, 2008
posted by nakedcodemonkey at 4:39 PM on January 14, 2008
This thread is closed to new comments.
Ruby syntax doc
posted by smackfu at 2:23 PM on January 14, 2008