Generate a unique symbol.
Symbol.generate #=> :"-1"
If key is given the new symbol will be prefixed with it.
Symbol.generate(:foo) #=> :"foo-1"
TODO: Is the generated symbol format acceptable?
CREDIT: Trans
Join with path as a file path.
Examples
(:merb / "string") #=> "merb/string" (:merb / :symbol) #=> "merb/symbol"
Returns String of the receiver (as a path string), concatenated with path.
Convert symbol to string, apply string method and convert back to symbol via a fluent interface.
:HELLO.as_s.chomp('O') #=> :HELL
Useful extension for &:symbol which makes it possible to pass arguments for method in block
['abc','','','def','ghi'].tap(&:delete.('')) #=> ['abc','def','ghi'] [1,2,3].map(&:to_s.(2)) #=> ['1','10','11'] ['abc','cdef','xy','z','wwww'].select(&:size.() == 4) #=> ['cdef', 'wwww'] ['abc','aaA','AaA','z'].count(&:upcase.().succ == 'AAB') #=> 2 [%w{1 2 3 4 5},%w{6 7 8 9}].map(&:join.().length) #=> [5,4]
CREDIT: Ilya Vorontsov, Nobuyoshi Nakada
Since Symbol is immutable it cannot be duplicated. For this reason try_dup returns self.
:a.dup! #=> :a
Does a symbol have a "not" sign?
"friend".to_sym.not? #=> false "~friend".to_sym.not? #=> true
CREDIT: Trans
Symbol does not end in `!`, `=`, or `?`.
:a.plain? #=> true :a?.plain? #=> false :a!.plain? #=> false :a=.plain? #=> false
Successor method for symobol. This simply converts the symbol to a string uses String#succ and then converts it back to a symbol.
:a.succ #=> :b
TODO: Make this work more like a simple character dial?
Returns truew if the given block throws the symbol, otherwise false. Note that throw inside the block must be used in one-argument form.
@return [true,false]