diff --git a/README.md b/README.md index 6c7d669..e115fab 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ smart people at [Hashrocket](http://hashrocket.com/). - [Override The Initial Sequence Value](ruby/override-the-initial-sequence-value.md) - [Parallel Bundle Install](ruby/parallel-bundle-install.md) - [Percent Notation](ruby/percent-notation.md) +- [Question Mark Operator](ruby/question-mark-operator.md) - [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md) - [Summing Collections](ruby/summing-collections.md) diff --git a/ruby/question-mark-operator.md b/ruby/question-mark-operator.md new file mode 100644 index 0000000..e8a64e8 --- /dev/null +++ b/ruby/question-mark-operator.md @@ -0,0 +1,22 @@ +# Question Mark Operator + +Ruby has a question mark (`?`) operator that works like so + +```ruby +> ?a +=> "a" +> ?\s +=> " " +> ?? +=> "?" +> ?a + ?b + ?c +=> "abc" +``` + +It essentially creates single character strings. At least in Ruby 1.9+ it +does. In versions of Ruby before 1.9, the `?` operator could be used to get +the ascii character code of the operand character. + +h/t Josh Davey + +[source](http://stackoverflow.com/questions/16641205/what-does-the-question-mark-operator-do)