An error caused by searching for a dependency that is completely unknown, i.e. has no versions available whatsoever.
Performs the substitutions of String#gsub
in place, returning str, or nil
if no substitutions were performed. If no block and no replacement is given, an enumerator is returned instead.
Returns a copy of str
with the first occurrence of pattern
replaced by the second argument. The pattern
is typically a Regexp
; if given as a String
, any regular expression metacharacters it contains will be interpreted literally, e.g. \d
will match a backslash followed by ‘d’, instead of a digit.
If replacement
is a String
it will be substituted for the matched text. It may contain back-references to the pattern’s capture groups of the form \d
, where d is a group number, or \k<n>
, where n is a group name. Similarly, \&
, \'
, \`
, and +
correspond to special variables, $&
, $'
, $`
, and $+
, respectively. (See regexp.rdoc for details.) \0
is the same as \&
. \\
is interpreted as an escape, i.e., a single backslash. Note that, within replacement
the special match variables, such as $&
, will not refer to the current match.
If the second argument is a Hash
, and the matched text is one of its keys, the corresponding value is the replacement string.
In the block form, the current match string is passed in as a parameter, and variables such as $1
, $2
, $`
, $&
, and $'
will be set appropriately. (See regexp.rdoc for details.) The value returned by the block will be substituted for the match on each call.
"hello".sub(/[aeiou]/, '*') #=> "h*llo" "hello".sub(/([aeiou])/, '<\1>') #=> "h<e>llo" "hello".sub(/./) {|s| s.ord.to_s + ' ' } #=> "104 ello" "hello".sub(/(?<foo>[aeiou])/, '*\k<foo>*') #=> "h*e*llo" 'Is SHELL your preferred shell?'.sub(/[[:upper:]]{2,}/, ENV) #=> "Is /bin/bash your preferred shell?"
Note that a string literal consumes backslashes. (See syntax/literals.rdoc for details about string literals.) Back-references are typically preceded by an additional backslash. For example, if you want to write a back-reference \&
in replacement
with a double-quoted string literal, you need to write: "..\\&.."
. If you want to write a non-back-reference string \&
in replacement
, you need first to escape the backslash to prevent this method from interpreting it as a back-reference, and then you need to escape the backslashes again to prevent a string literal from consuming them: "..\\\\&.."
. You may want to use the block form to avoid a lot of backslashes.
Performs the same substitution as String#sub
in-place.
Returns str
if a substitution was performed or nil
if no substitution was performed.
Subtract the specified value.
e.g.
c = a.sub(b,n)
If specified and less than the number of significant digits of the result, the result is rounded to that number of digits, according to BigDecimal.mode
.
Returns the subsecond for time.
The return value can be a rational number.
t = Time.now #=> 2020-07-20 15:40:26.867462289 +0900 t.subsec #=> (867462289/1000000000) t = Time.now #=> 2020-07-20 15:40:50.313828595 +0900 t.subsec #=> (62765719/200000000) t = Time.new(2000,1,1,2,3,4) #=> 2000-01-01 02:03:04 +0900 t.subsec #=> 0 Time.new(2000,1,1,0,0,1/3r,"UTC").subsec #=> (1/3)
Returns true if the set is a subset of the given set.
Deletes every element that appears in the given enumerable object and returns self.
Return a pathname which is substituted by String#sub
.
path1 = Pathname.new('/usr/bin/perl') path1.sub('perl', 'ruby') #=> #<Pathname:/usr/bin/ruby>
Equivalent to $_.sub(args)
, except that $_
will be updated if substitution occurs. Available only when -p/-n command line option specified.
Quietly ensure the Gem directory dir
contains all the proper subdirectories. If we can’t create a directory due to a permission problem, then we will silently continue.
If mode
is given, missing directories are created with this mode.
World-writable directories will never be created.
Quietly ensure the Gem directory dir
contains all the proper subdirectories for handling default gems. If we can’t create a directory due to a permission problem, then we will silently continue.
If mode
is given, missing directories are created with this mode.
World-writable directories will never be created.
Sends a SUBSCRIBE command to add the specified mailbox
name to the server’s set of “active” or “subscribed” mailboxes as returned by lsub()
.
A Net::IMAP::NoResponseError
is raised if mailbox
cannot be subscribed to; for instance, because it does not exist.
Sends a UNSUBSCRIBE command to remove the specified mailbox
name from the server’s set of “active” or “subscribed” mailboxes.
A Net::IMAP::NoResponseError
is raised if mailbox
cannot be unsubscribed from; for instance, because the client is not currently subscribed to it.
Sends a LSUB command, and returns a subset of names from the set of names that the user has declared as being “active” or “subscribed.” refname
and mailbox
are interpreted as for list()
. The return value is an array of Net::IMAP::MailboxList
.
Generate a submit button Input element, as a String
.
value
is the text to display on the button. name
is the name of the input.
Alternatively, the attributes can be specified as a hash.
submit # <INPUT TYPE="submit"> submit("ok") # <INPUT TYPE="submit" VALUE="ok"> submit("ok", "button1") # <INPUT TYPE="submit" VALUE="ok" NAME="button1"> submit("VALUE" => "ok", "NAME" => "button1", "ID" => "foo") # <INPUT TYPE="submit" VALUE="ok" NAME="button1" ID="foo">
Returns true if the set is a proper subset of the given set.
Return a pathname with repl
added as a suffix to the basename.
If self has no extension part, repl
is appended.
Pathname.new('/usr/bin/shutdown').sub_ext('.rb') #=> #<Pathname:/usr/bin/shutdown.rb>
Takes a block and queues a new group that is indented 1 level further.
Returns a content type string such as “html”. This method returns nil if Content-Type: header field does not exist or sub-type is not given (e.g. “Content-Type: text”).