File: C:/Ruby27-x64/share/doc/ruby/html/standard_library_rdoc.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>standard_library - RDoc Documentation</title>
<script type="text/javascript">
var rdoc_rel_prefix = "./";
var index_rel_prefix = "./";
</script>
<script src="./js/navigation.js" defer></script>
<script src="./js/search.js" defer></script>
<script src="./js/search_index.js" defer></script>
<script src="./js/searcher.js" defer></script>
<script src="./js/darkfish.js" defer></script>
<link href="./css/fonts.css" rel="stylesheet">
<link href="./css/rdoc.css" rel="stylesheet">
<body id="top" role="document" class="file">
<nav role="navigation">
<div id="project-navigation">
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
<h2>
<a href="./index.html" rel="home">Home</a>
</h2>
<div id="table-of-contents-navigation">
<a href="./table_of_contents.html#pages">Pages</a>
<a href="./table_of_contents.html#classes">Classes</a>
<a href="./table_of_contents.html#methods">Methods</a>
</div>
</div>
<div id="search-section" role="search" class="project-section initially-hidden">
<form action="#" method="get" accept-charset="utf-8">
<div id="search-field-wrapper">
<input id="search-field" role="combobox" aria-label="Search"
aria-autocomplete="list" aria-controls="search-results"
type="text" name="search" placeholder="Search" spellcheck="false"
title="Type to search, Up and Down to navigate, Enter to load">
</div>
<ul id="search-results" aria-label="Search Results"
aria-busy="false" aria-expanded="false"
aria-atomic="false" class="initially-hidden"></ul>
</form>
</div>
</div>
<div class="nav-section">
<h3>Table of Contents</h3>
<ul class="link-list" role="directory">
<li><a href="#label-Ruby+Standard+Library">Ruby Standard Library</a>
<li><a href="#label-Libraries">Libraries</a>
<li><a href="#label-Extensions">Extensions</a>
<li><a href="#label-Default+gems">Default gems</a>
<li><a href="#label-Libraries">Libraries</a>
<li><a href="#label-Extensions">Extensions</a>
<li><a href="#label-Bundled+gems">Bundled gems</a>
<li><a href="#label-Libraries">Libraries</a>
</ul>
</div>
<div id="project-metadata">
<div id="fileindex-section" class="nav-section">
<h3>Pages</h3>
<ul class="link-list">
<li><a href="./CONTRIBUTING_md.html">CONTRIBUTING</a>
<li><a href="./COPYING.html">COPYING</a>
<li><a href="./COPYING_ja.html">COPYING.ja</a>
<li><a href="./LEGAL.html">LEGAL</a>
<li><a href="./NEWS.html">NEWS</a>
<li><a href="./NEWS-1_8_7.html">NEWS-1.8.7</a>
<li><a href="./NEWS-1_9_1.html">NEWS-1.9.1</a>
<li><a href="./NEWS-1_9_2.html">NEWS-1.9.2</a>
<li><a href="./NEWS-1_9_3.html">NEWS-1.9.3</a>
<li><a href="./NEWS-2_0_0.html">NEWS-2.0.0</a>
<li><a href="./NEWS-2_1_0.html">NEWS-2.1.0</a>
<li><a href="./NEWS-2_2_0.html">NEWS-2.2.0</a>
<li><a href="./NEWS-2_3_0.html">NEWS-2.3.0</a>
<li><a href="./NEWS-2_4_0.html">NEWS-2.4.0</a>
<li><a href="./NEWS-2_5_0.html">NEWS-2.5.0</a>
<li><a href="./NEWS-2_6_0.html">NEWS-2.6.0</a>
<li><a href="./README_ja_md.html">README.ja</a>
<li><a href="./README_md.html">README</a>
<li><a href="./bug_triaging_rdoc.html">bug_triaging</a>
<li><a href="./contributing_rdoc.html">contributing</a>
<li><a href="./contributors_rdoc.html">contributors</a>
<li><a href="./dtrace_probes_rdoc.html">dtrace_probes</a>
<li><a href="./extension_ja_rdoc.html">extension.ja</a>
<li><a href="./extension_rdoc.html">extension</a>
<li><a href="./globals_rdoc.html">globals</a>
<li><a href="./keywords_rdoc.html">keywords</a>
<li><a href="./lib/racc/pre-setup.html">pre-setup</a>
<li><a href="./lib/racc/rdoc/grammar_en_rdoc.html">grammar.en</a>
<li><a href="./maintainers_rdoc.html">maintainers</a>
<li><a href="./marshal_rdoc.html">marshal</a>
<li><a href="./regexp_rdoc.html">regexp</a>
<li><a href="./security_rdoc.html">security</a>
<li><a href="./signals_rdoc.html">signals</a>
<li><a href="./standard_library_rdoc.html">standard_library</a>
<li><a href="./syntax_rdoc.html">syntax</a>
<li><a href="./syntax/assignment_rdoc.html">assignment</a>
<li><a href="./syntax/calling_methods_rdoc.html">calling_methods</a>
<li><a href="./syntax/comments_rdoc.html">comments</a>
<li><a href="./syntax/control_expressions_rdoc.html">control_expressions</a>
<li><a href="./syntax/exceptions_rdoc.html">exceptions</a>
<li><a href="./syntax/literals_rdoc.html">literals</a>
<li><a href="./syntax/methods_rdoc.html">methods</a>
<li><a href="./syntax/miscellaneous_rdoc.html">miscellaneous</a>
<li><a href="./syntax/modules_and_classes_rdoc.html">modules_and_classes</a>
<li><a href="./syntax/precedence_rdoc.html">precedence</a>
<li><a href="./syntax/refinements_rdoc.html">refinements</a>
<li><a href="./win32/README_win32.html">README.win32</a>
</ul>
</div>
</div>
</nav>
<main role="main" aria-label="Page standard_library.rdoc">
<h1 id="label-Ruby+Standard+Library">Ruby Standard Library<span><a href="#label-Ruby+Standard+Library">¶</a> <a href="#top">↑</a></span></h1>
<p>The Ruby Standard Library is a vast collection of classes and modules that you can require in your code for additional features.</p>
<p>Below is an overview of libraries and extensions followed by a brief description.</p>
<h2 id="label-Libraries">Libraries<span><a href="#label-Libraries">¶</a> <a href="#top">↑</a></span></h2>
<dl class="rdoc-list note-list"><dt><a href="Abbrev.html"><code>Abbrev</code></a>
<dd>
<p>Calculates a set of unique abbreviations for a given set of strings</p>
</dd><dt><a href="Base64.html"><code>Base64</code></a>
<dd>
<p>Support for encoding and decoding binary data using a <a href="Base64.html"><code>Base64</code></a> representation</p>
</dd><dt><a href="DEBUGGER__.html"><code>DEBUGGER__</code></a>
<dd>
<p>Debugging functionality for Ruby</p>
</dd><dt><a href="DRb.html"><code>DRb</code></a>
<dd>
<p>Distributed object system for Ruby</p>
</dd><dt>English.rb
<dd>
<p>Require 'English.rb' to reference global variables with less cryptic names</p>
</dd><dt><a href="ERB.html"><code>ERB</code></a>
<dd>
<p>An easy to use but powerful templating system for Ruby</p>
</dd><dt><a href="Find.html"><code>Find</code></a>
<dd>
<p>This module supports top-down traversal of a set of file paths</p>
</dd><dt><a href="MakeMakefile.html"><code>MakeMakefile</code></a>
<dd>
<p><a href="Module.html"><code>Module</code></a> used to generate a Makefile for C extensions</p>
</dd><dt><a href="Monitor.html"><code>Monitor</code></a>
<dd>
<p>Provides an object or module to use safely by more than one thread</p>
</dd><dt><a href="Net/FTP.html"><code>Net::FTP</code></a>
<dd>
<p>Support for the <a href="File.html"><code>File</code></a> Transfer Protocol</p>
</dd><dt><a href="Net/HTTP.html"><code>Net::HTTP</code></a>
<dd>
<p>HTTP client api for Ruby</p>
</dd><dt><a href="Net/IMAP.html"><code>Net::IMAP</code></a>
<dd>
<p>Ruby client api for Internet Message Access Protocol</p>
</dd><dt><a href="OpenURI.html"><code>OpenURI</code></a>
<dd>
<p>An easy-to-use wrapper for <a href="Net/HTTP.html"><code>Net::HTTP</code></a>, Net::HTTPS and <a href="Net/FTP.html"><code>Net::FTP</code></a></p>
</dd><dt><a href="OptionParser.html"><code>OptionParser</code></a>
<dd>
<p>Ruby-oriented class for command-line option analysis</p>
</dd><dt><a href="PP.html"><code>PP</code></a>
<dd>
<p>Provides a PrettyPrinter for Ruby objects</p>
</dd><dt>PrettyPrinter
<dd>
<p>Implements a pretty printing algorithm for readable structure</p>
</dd><dt>RbConfig
<dd>
<p>Information of your configure and build of Ruby</p>
</dd><dt>resolv-replace.rb
<dd>
<p>Replace <a href="Socket.html"><code>Socket</code></a> DNS with <a href="Resolv.html"><code>Resolv</code></a></p>
</dd><dt><a href="Resolv.html"><code>Resolv</code></a>
<dd>
<p>Thread-aware DNS resolver library in Ruby</p>
</dd><dt><a href="Rinda.html"><code>Rinda</code></a>
<dd>
<p>The Linda distributed computing paradigm in Ruby</p>
</dd><dt>Gem
<dd>
<p>Package management framework for Ruby</p>
</dd><dt><a href="SecureRandom.html"><code>SecureRandom</code></a>
<dd>
<p>Interface for secure random number generator</p>
</dd><dt><a href="Set.html"><code>Set</code></a>
<dd>
<p>Provides a class to deal with collections of unordered, unique values</p>
</dd><dt><a href="Shellwords.html"><code>Shellwords</code></a>
<dd>
<p>Manipulates strings with word parsing rules of UNIX Bourne shell</p>
</dd><dt><a href="Tempfile.html"><code>Tempfile</code></a>
<dd>
<p>A utility class for managing temporary files</p>
</dd><dt><a href="Time.html"><code>Time</code></a>
<dd>
<p>Extends the <a href="Time.html"><code>Time</code></a> class with methods for parsing and conversion</p>
</dd><dt>tmpdir.rb
<dd>
<p>Extends the <a href="Dir.html"><code>Dir</code></a> class to manage the OS temporary file path</p>
</dd><dt><a href="TSort.html"><code>TSort</code></a>
<dd>
<p>Topological sorting using Tarjan's algorithm</p>
</dd><dt>un.rb
<dd>
<p>Utilities to replace common UNIX commands</p>
</dd><dt><a href="WeakRef.html"><code>WeakRef</code></a>
<dd>
<p>Allows a referenced object to be garbage-collected</p>
</dd></dl>
<h2 id="label-Extensions">Extensions<span><a href="#label-Extensions">¶</a> <a href="#top">↑</a></span></h2>
<dl class="rdoc-list note-list"><dt><a href="Coverage.html"><code>Coverage</code></a>
<dd>
<p>Provides coverage measurement for Ruby</p>
</dd><dt><a href="Digest.html"><code>Digest</code></a>
<dd>
<p>Provides a framework for message digest libraries</p>
</dd><dt><a href="IO.html"><code>IO</code></a>
<dd>
<p>Extensions for Ruby <a href="IO.html"><code>IO</code></a> class, including wait and ::console</p>
</dd><dt><a href="NKF.html"><code>NKF</code></a>
<dd>
<p>Ruby extension for Network Kanji Filter</p>
</dd><dt>objspace
<dd>
<p>Extends <a href="ObjectSpace.html"><code>ObjectSpace</code></a> module to add methods for internal statistics</p>
</dd><dt><a href="Pathname.html"><code>Pathname</code></a>
<dd>
<p>Representation of the name of a file or directory on the filesystem</p>
</dd><dt><a href="PTY.html"><code>PTY</code></a>
<dd>
<p>Creates and manages pseudo terminals</p>
</dd><dt><a href="Ripper.html"><code>Ripper</code></a>
<dd>
<p>Provides an interface for parsing Ruby programs into S-expressions</p>
</dd><dt><a href="Socket.html"><code>Socket</code></a>
<dd>
<p>Access underlying OS socket implementations</p>
</dd><dt><a href="Syslog.html"><code>Syslog</code></a>
<dd>
<p>Ruby interface for the POSIX system logging facility</p>
</dd><dt><a href="WIN32OLE.html"><code>WIN32OLE</code></a>
<dd>
<p>Provides an interface for OLE Automation in Ruby</p>
</dd></dl>
<h1 id="label-Default+gems">Default gems<span><a href="#label-Default+gems">¶</a> <a href="#top">↑</a></span></h1>
<h2 id="label-Libraries">Libraries<span><a href="#label-Libraries">¶</a> <a href="#top">↑</a></span></h2>
<dl class="rdoc-list note-list"><dt><a href="Benchmark.html"><code>Benchmark</code></a>
<dd>
<p>Provides methods to measure and report the time used to execute code</p>
</dd><dt><a href="Bundler.html"><code>Bundler</code></a>
<dd>
<p>Manage your Ruby application's gem dependencies</p>
</dd><dt><a href="CGI.html"><code>CGI</code></a>
<dd>
<p>Support for the Common Gateway Interface protocol</p>
</dd><dt><a href="CSV.html"><code>CSV</code></a>
<dd>
<p>Provides an interface to read and write <a href="CSV.html"><code>CSV</code></a> files and data</p>
</dd><dt><a href="Delegator.html"><code>Delegator</code></a>
<dd>
<p>Provides three abilities to delegate method calls to an object</p>
</dd><dt><a href="DidYouMean.html"><code>DidYouMean</code></a>
<dd>
<p>“Did you mean?” experience in Ruby</p>
</dd><dt><a href="FileUtils.html"><code>FileUtils</code></a>
<dd>
<p>Several file utility methods for copying, moving, removing, etc</p>
</dd><dt>Forwardable
<dd>
<p>Provides delegation of specified methods to a designated object</p>
</dd><dt><a href="GetoptLong.html"><code>GetoptLong</code></a>
<dd>
<p>Parse command line options similar to the GNU C getopt_long()</p>
</dd><dt><a href="IPAddr.html"><code>IPAddr</code></a>
<dd>
<p>Provides methods to manipulate IPv4 and IPv6 IP addresses</p>
</dd><dt>IRB
<dd>
<p>Interactive Ruby command-line tool for REPL (Read Eval Print Loop)</p>
</dd><dt><a href="Logger.html"><code>Logger</code></a>
<dd>
<p>Provides a simple logging utility for outputting messages</p>
</dd><dt><a href="Matrix.html"><code>Matrix</code></a>
<dd>
<p>Represents a mathematical matrix.</p>
</dd><dt><a href="Mutex_m.html"><code>Mutex_m</code></a>
<dd>
<p>Mixin to extend objects to be handled like a <a href="Mutex.html"><code>Mutex</code></a></p>
</dd><dt><a href="Net/POP3.html"><code>Net::POP3</code></a>
<dd>
<p>Ruby client library for POP3</p>
</dd><dt><a href="Net/SMTP.html"><code>Net::SMTP</code></a>
<dd>
<p>Simple Mail Transfer Protocol client library for Ruby</p>
</dd><dt><a href="Observable.html"><code>Observable</code></a>
<dd>
<p>Provides a mechanism for publish/subscribe pattern in Ruby</p>
</dd><dt><a href="Open3.html"><code>Open3</code></a>
<dd>
<p>Provides access to stdin, stdout and stderr when running other programs</p>
</dd><dt><a href="OpenStruct.html"><code>OpenStruct</code></a>
<dd>
<p><a href="Class.html"><code>Class</code></a> to build custom data structures, similar to a <a href="Hash.html"><code>Hash</code></a></p>
</dd><dt><a href="Prime.html"><code>Prime</code></a>
<dd>
<p><a href="Prime.html"><code>Prime</code></a> numbers and factorization library</p>
</dd><dt><a href="PStore.html"><code>PStore</code></a>
<dd>
<p>Implements a file based persistence mechanism based on a <a href="Hash.html"><code>Hash</code></a></p>
</dd><dt><a href="Racc.html"><code>Racc</code></a>
<dd>
<p>A LALR(1) parser generator written in Ruby.</p>
</dd><dt><a href="RDoc.html"><code>RDoc</code></a>
<dd>
<p>Produces HTML and command-line documentation for Ruby</p>
</dd><dt><a href="REXML.html"><code>REXML</code></a>
<dd>
<p>An <a href="XML.html"><code>XML</code></a> toolkit for Ruby</p>
</dd><dt><a href="RSS.html"><code>RSS</code></a>
<dd>
<p>Family of libraries that support various formats of <a href="XML.html"><code>XML</code></a> “feeds”</p>
</dd><dt><a href="Singleton.html"><code>Singleton</code></a>
<dd>
<p>Implementation of the <a href="Singleton.html"><code>Singleton</code></a> pattern for Ruby</p>
</dd><dt><a href="Timeout.html"><code>Timeout</code></a>
<dd>
<p>Auto-terminate potentially long-running operations in Ruby</p>
</dd><dt><a href="Tracer.html"><code>Tracer</code></a>
<dd>
<p>Outputs a source level execution trace of a Ruby program</p>
</dd><dt><a href="URI.html"><code>URI</code></a>
<dd>
<p>A Ruby module providing support for Uniform Resource Identifiers</p>
</dd><dt><a href="WEBrick.html"><code>WEBrick</code></a>
<dd>
<p>An HTTP server toolkit for Ruby</p>
</dd><dt>YAML
<dd>
<p>Ruby client library for the <a href="Psych.html"><code>Psych</code></a> YAML implementation</p>
</dd></dl>
<h2 id="label-Extensions">Extensions<span><a href="#label-Extensions">¶</a> <a href="#top">↑</a></span></h2>
<dl class="rdoc-list note-list"><dt><a href="BigDecimal.html"><code>BigDecimal</code></a>
<dd>
<p>Provides arbitrary-precision floating point decimal arithmetic</p>
</dd><dt><a href="Date.html"><code>Date</code></a>
<dd>
<p>A subclass of <a href="Object.html"><code>Object</code></a> includes <a href="Comparable.html"><code>Comparable</code></a> module for handling dates</p>
</dd><dt><a href="DateTime.html"><code>DateTime</code></a>
<dd>
<p>Subclass of <a href="Date.html"><code>Date</code></a> to handling dates, hours, minutes, seconds, offsets</p>
</dd><dt><a href="DBM.html"><code>DBM</code></a>
<dd>
<p>Provides a wrapper for the UNIX-style Database Manager Library</p>
</dd><dt><a href="Etc.html"><code>Etc</code></a>
<dd>
<p>Provides access to information typically stored in UNIX /etc directory</p>
</dd><dt><a href="Fcntl.html"><code>Fcntl</code></a>
<dd>
<p>Loads constants defined in the OS fcntl.h C header file</p>
</dd><dt><a href="Fiddle.html"><code>Fiddle</code></a>
<dd>
<p>A libffi wrapper for Ruby</p>
</dd><dt><a href="GDBM.html"><code>GDBM</code></a>
<dd>
<p>Ruby extension for the GNU dbm (gdbm) library</p>
</dd><dt><a href="IO.html#method-c-console"><code>IO::console</code></a>
<dd>
<p>Console interface</p>
</dd><dt><a href="JSON.html"><code>JSON</code></a>
<dd>
<p>Implements Javascript <a href="Object.html"><code>Object</code></a> Notation for Ruby</p>
</dd><dt><a href="OpenSSL.html"><code>OpenSSL</code></a>
<dd>
<p>Provides SSL, TLS and general purpose cryptography for Ruby</p>
</dd><dt><a href="Psych.html"><code>Psych</code></a>
<dd>
<p>A YAML parser and emitter for Ruby</p>
</dd><dt><a href="Readline.html"><code>Readline</code></a>
<dd>
<p>Provides an interface for GNU <a href="Readline.html"><code>Readline</code></a> and Edit Line (libedit)</p>
</dd><dt><a href="SDBM.html"><code>SDBM</code></a>
<dd>
<p>Provides a simple file-based key-value store with <a href="String.html"><code>String</code></a> keys and values</p>
</dd><dt><a href="StringIO.html"><code>StringIO</code></a>
<dd>
<p>Pseudo I/O on <a href="String.html"><code>String</code></a> objects</p>
</dd><dt><a href="StringScanner.html"><code>StringScanner</code></a>
<dd>
<p>Provides lexical scanning operations on a <a href="String.html"><code>String</code></a></p>
</dd><dt><a href="Zlib.html"><code>Zlib</code></a>
<dd>
<p>Ruby interface for the zlib compression/decompression library</p>
</dd></dl>
<h1 id="label-Bundled+gems">Bundled gems<span><a href="#label-Bundled+gems">¶</a> <a href="#top">↑</a></span></h1>
<h2 id="label-Libraries">Libraries<span><a href="#label-Libraries">¶</a> <a href="#top">↑</a></span></h2>
<dl class="rdoc-list note-list"><dt>MiniTest
<dd>
<p>A test suite with TDD, BDD, mocking and benchmarking</p>
</dd><dt>Net::Telnet
<dd>
<p>Telnet client library for Ruby</p>
</dd><dt>PowerAssert
<dd>
<p>Power Assert for Ruby.</p>
</dd><dt>Rake
<dd>
<p>Ruby build program with capabilities similar to make</p>
</dd><dt>Test::Unit
<dd>
<p>A compatibility layer for MiniTest</p>
</dd><dt>XMLRPC
<dd>
<p>Remote Procedure Call over HTTP support for Ruby</p>
</dd></dl>
</main>
<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.1.
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
</footer>