Sets current locale id (lcid).
WIN32OLE.locale = 1033 # set locale English(U.S) obj = WIN32OLE::Variant.new("$100,000", WIN32OLE::VARIANT::VT_CY)
Returns the default value for the given key
. The returned value will be determined either by the default proc or by the default value. See Default Values.
With no argument, returns the current default value:
h = {} h.default # => nil
If key
is given, returns the default value for key
, regardless of whether that key exists:
h = Hash.new { |hash, key| hash[key] = "No key #{key}"} h[:foo] = "Hello" h.default(:foo) # => "No key foo"
Sets the default value to value
; returns value
:
h = {} h.default # => nil h.default = false # => false h.default # => false
See Default Values.
Deletes the entry for the given key
and returns its associated value.
If no block is given and key
is found, deletes the entry and returns the associated value:
h = {foo: 0, bar: 1, baz: 2} h.delete(:bar) # => 1 h # => {:foo=>0, :baz=>2}
If no block given and key
is not found, returns nil
.
If a block is given and key
is found, ignores the block, deletes the entry, and returns the associated value:
h = {foo: 0, bar: 1, baz: 2} h.delete(:baz) { |key| raise 'Will never happen'} # => 2 h # => {:foo=>0, :bar=>1}
If a block is given and key
is not found, calls the block and returns the block’s return value:
h = {foo: 0, bar: 1, baz: 2} h.delete(:nosuch) { |key| "Key #{key} not found" } # => "Key nosuch not found" h # => {:foo=>0, :bar=>1, :baz=>2}
Removes all hash entries; returns self
.
Deletes the environment variable with name
if it exists and returns its value:
ENV['foo'] = '0' ENV.delete('foo') # => '0'
If a block is not given and the named environment variable does not exist, returns nil
.
If a block given and the environment variable does not exist, yields name
to the block and returns the value of the block:
ENV.delete('foo') { |name| name * 2 } # => "foofoo"
If a block given and the environment variable exists, deletes the environment variable and returns its value (ignoring the block):
ENV['foo'] = '0' ENV.delete('foo') { |name| raise 'ignored' } # => "0"
Raises an exception if name
is invalid. See Invalid Names and Values.
Removes every environment variable; returns ENV:
ENV.replace('foo' => '0', 'bar' => '1') ENV.size # => 2 ENV.clear # => ENV ENV.size # => 0
Returns the count of environment variables:
ENV.replace('foo' => '0', 'bar' => '1') ENV.length # => 2 ENV.size # => 2
Returns an integer representing the numeric file descriptor for the current file. Raises an ArgumentError
if there isn’t a current file.
ARGF.fileno #=> 3
Returns the current filename. “-” is returned when the current file is STDIN.
For example:
$ echo "foo" > foo $ echo "bar" > bar $ echo "glark" > glark $ ruby argf.rb foo bar glark ARGF.filename #=> "foo" ARGF.read(5) #=> "foo\nb" ARGF.filename #=> "bar" ARGF.skip ARGF.filename #=> "glark"
Returns the current file as an IO
or File
object. $stdin
is returned when the current file is STDIN.
For example:
$ echo "foo" > foo $ echo "bar" > bar $ ruby argf.rb foo bar ARGF.file #=> #<File:foo> ARGF.read(5) #=> "foo\nb" ARGF.file #=> #<File:bar>
Returns the methods available to this delegate object as the union of this object’s and _getobj_ methods.
Executes the generated ERB
code to produce a completed template, returning the results of that code. (See ERB::new
for details on how this process can be affected by safe_level.)
b accepts a Binding
object which is used to set the context of code evaluation.
Logging severity threshold (e.g. Logger::INFO
).
Sets the log level; returns severity
. See Log Level.
Argument severity
may be an integer, a string, or a symbol:
logger.level = Logger::ERROR # => 3 logger.level = 3 # => 3 logger.level = 'error' # => "error" logger.level = :error # => :error
Logger#sev_threshold=
is an alias for Logger#level=
.
Release code
Removes the last List
.
Returns size of the match array:
m = /(.)(.)(\d+)(\d)/.match("THX1138.") # => #<MatchData "HX1138" 1:"H" 2:"X" 3:"113" 4:"8"> m.size # => 5
This says “you can break a line here if necessary”, and a width
-column text sep
is inserted if a line is not broken at the point.
If sep
is not specified, “ ” is used.
If width
is not specified, sep.length
is used. You will have to specify this when sep
is a multibyte character, for example.
Removes and returns the value at key
if it exists:
example_store do |store| store.transaction do store[:bat] = 3 store.delete(:bat) end end
Returns nil
if there is no such key.
Raises an exception if called outside a transaction block.
Checks if the object is shareable by ractors.
Ractor.shareable?(1) #=> true -- numbers and other immutable basic values are frozen Ractor.shareable?('foo') #=> false, unless the string is frozen due to # frozen_string_literal: true Ractor.shareable?('foo'.freeze) #=> true
See also the “Shareable and unshareable objects” section in the Ractor class docs.