-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathfile.standard_library.html
403 lines (384 loc) · 11.1 KB
/
file.standard_library.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=no'>
<meta name='apple-touch-fullscreen' content='yes'>
<meta name='apple-mobile-web-app-capable' content='yes'>
<meta name='apple-mobile-web-app-status-bar-style' content='rgba(228,228,228,1.0)'>
<title>File: Standard Library — Ruby-2.6.10</title>
<link rel='stylesheet' type='text/css' href='../css/y_fonts.css' />
<link rel='stylesheet' type='text/css' href='../css/highlight.github.css' />
<link rel='stylesheet' type='text/css' href='../css/y_style.css' />
<link rel='stylesheet' type='text/css' href='../css/y_list.css' />
<link rel='stylesheet' type='text/css' href='../css/y_color.css' />
<script type='text/javascript'>
var pathId = "standard_library",
relpath = '';
var t2Info = {
CSEP: '.',
ISEP: '#',
NSEP: '::'
};
</script>
<script type='text/javascript' charset='utf-8' src='../js/highlight.pack.js'></script>
<script type='text/javascript' charset='utf-8' src='../js/y_app.js'></script>
</head>
<body>
<svg id='y_wait' class viewBox='0 0 90 90'></svg>
<div id='settings' class='hidden'></div>
<div id='y_list' class='d h'>
<header id='list_header'></header>
<nav id= 'list_nav' class='y_nav l_nav'>
<ul id='list_items'></ul>
</nav>
</div>
<div id='y_toc' class='f h'>
<header id='toc_header'></header>
<nav id= 'toc_nav' class='y_nav t_nav'>
<ol id='toc_items'></ol>
</nav>
</div>
<div id='y_main' tabindex='-1'>
<header id='y_header'>
<div id='y_menu'>
<a id='home_no_xhr' href='/'>Home</a> »
<a href='.'>Ruby-2.6.10</a> »
<a href='_index.html'>Index</a> »
<span class='title'><a id='t2_doc_top' href='#'>File: Standard Library ▲</a></span>
</div>
<a id='list_href' href="file_list.html"></a>
<div id='y_measure_em' class='y_measure'></div>
<div id='y_measure_vh' class='y_measure'></div>
<span id='y_measure_50pre' class='y_measure'><code>123456789_123456789_123456789_123456789_123456789_</code></span>
</header>
<div id='content' class='file'>
<h1 id="label-Ruby+Standard+Library">Ruby Standard Library</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</h2>
<dl class="rdoc-list note-list"><dt>Abbrev
<dd>
<p>Calculates a set of unique abbreviations for a given set of strings</p>
</dd><dt>Base64
<dd>
<p>Support for encoding and decoding binary data using a Base64 representation</p>
</dd><dt>Benchmark
<dd>
<p>Provides methods to measure and report the time used to execute code</p>
</dd><dt>CGI
<dd>
<p>Support for the Common Gateway Interface protocol</p>
</dd><dt>DEBUGGER__
<dd>
<p>Debugging functionality for Ruby</p>
</dd><dt>Delegator
<dd>
<p>Provides three abilities to delegate method calls to an object</p>
</dd><dt>DRb
<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>ERB
<dd>
<p>An easy to use but powerful templating system for Ruby</p>
</dd><dt>Find
<dd>
<p>This module supports top-down traversal of a set of file paths</p>
</dd><dt>GetoptLong
<dd>
<p>Parse command line options similar to the GNU C getopt_long()</p>
</dd><dt>MakeMakefile
<dd>
<p>Module used to generate a Makefile for C extensions</p>
</dd><dt>Monitor
<dd>
<p>Provides an object or module to use safely by more than one thread</p>
</dd><dt>Net::FTP
<dd>
<p>Support for the File Transfer Protocol</p>
</dd><dt>Net::HTTP
<dd>
<p>HTTP client api for Ruby</p>
</dd><dt>Net::IMAP
<dd>
<p>Ruby client api for Internet Message Access Protocol</p>
</dd><dt>Net::POP3
<dd>
<p>Ruby client library for POP3</p>
</dd><dt>Net::SMTP
<dd>
<p>Simple Mail Transfer Protocol client library for Ruby</p>
</dd><dt>Observable
<dd>
<p>Provides a mechanism for publish/subscribe pattern in Ruby</p>
</dd><dt>OpenURI
<dd>
<p>An easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP</p>
</dd><dt>Open3
<dd>
<p>Provides access to stdin, stdout and stderr when running other programs</p>
</dd><dt>OptionParser
<dd>
<p>Ruby-oriented class for command-line option analysis</p>
</dd><dt>PP
<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>profile.rb
<dd>
<p>Runs the Ruby Profiler__</p>
</dd><dt>Profiler__
<dd>
<p>Provides a way to profile your Ruby application</p>
</dd><dt>PStore
<dd>
<p>Implements a file based persistence mechanism based on a Hash</p>
</dd><dt>Racc
<dd>
<p>A LALR(1) parser generator written in Ruby.</p>
</dd><dt>RbConfig
<dd>
<p>Information of your configure and build of Ruby</p>
</dd><dt>resolv-replace.rb
<dd>
<p>Replace Socket DNS with Resolv</p>
</dd><dt>Resolv
<dd>
<p>Thread-aware DNS resolver library in Ruby</p>
</dd><dt>Rinda
<dd>
<p>The Linda distributed computing paradigm in Ruby</p>
</dd><dt>Gem
<dd>
<p>Package management framework for Ruby</p>
</dd><dt>SecureRandom
<dd>
<p>Interface for secure random number generator</p>
</dd><dt>Set
<dd>
<p>Provides a class to deal with collections of unordered, unique values</p>
</dd><dt>Shellwords
<dd>
<p>Manipulates strings with word parsing rules of UNIX Bourne shell</p>
</dd><dt>Singleton
<dd>
<p>Implementation of the Singleton pattern for Ruby</p>
</dd><dt>Tempfile
<dd>
<p>A utility class for managing temporary files</p>
</dd><dt>Time
<dd>
<p>Extends the Time class with methods for parsing and conversion</p>
</dd><dt>Timeout
<dd>
<p>Auto-terminate potentially long-running operations in Ruby</p>
</dd><dt>tmpdir.rb
<dd>
<p>Extends the Dir class to manage the OS temporary file path</p>
</dd><dt>TSort
<dd>
<p>Topological sorting using Tarjan’s algorithm</p>
</dd><dt>un.rb
<dd>
<p>Utilities to replace common UNIX commands</p>
</dd><dt>URI
<dd>
<p>A Ruby module providing support for Uniform Resource Identifiers</p>
</dd><dt>WeakRef
<dd>
<p>Allows a referenced object to be garbage-collected</p>
</dd><dt>YAML
<dd>
<p>Ruby client library for the Psych YAML implementation</p>
</dd></dl>
<h2 id="label-Extensions">Extensions</h2>
<dl class="rdoc-list note-list"><dt>Coverage
<dd>
<p>Provides coverage measurement for Ruby</p>
</dd><dt>Digest
<dd>
<p>Provides a framework for message digest libraries</p>
</dd><dt>IO
<dd>
<p>Extensions for Ruby IO class, including #wait and ::console</p>
</dd><dt>NKF
<dd>
<p>Ruby extension for Network Kanji Filter</p>
</dd><dt>objspace
<dd>
<p>Extends ObjectSpace module to add methods for internal statistics</p>
</dd><dt>Pathname
<dd>
<p>Representation of the name of a file or directory on the filesystem</p>
</dd><dt>PTY
<dd>
<p>Creates and manages pseudo terminals</p>
</dd><dt>Readline
<dd>
<p>Provides an interface for GNU Readline and Edit Line (libedit)</p>
</dd><dt>Ripper
<dd>
<p>Provides an interface for parsing Ruby programs into S-expressions</p>
</dd><dt>Socket
<dd>
<p>Access underlying OS socket implementations</p>
</dd><dt>Syslog
<dd>
<p>Ruby interface for the POSIX system logging facility</p>
</dd><dt>WIN32OLE
<dd>
<p>Provides an interface for OLE Automation in Ruby</p>
</dd></dl>
<h1 id="label-Default+gems">Default gems</h1>
<h2 id="label-Libraries">Libraries</h2>
<dl class="rdoc-list note-list"><dt>Bundler
<dd>
<p>Manage your Ruby application’s gem dependencies</p>
</dd><dt>CMath
<dd>
<p>Provides Trigonometric and Transcendental functions for complex numbers</p>
</dd><dt>CSV
<dd>
<p>Provides an interface to read and write CSV files and data</p>
</dd><dt>E2MM
<dd>
<p>Module for defining custom exceptions with specific messages</p>
</dd><dt>FileUtils
<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>IPAddr
<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>Logger
<dd>
<p>Provides a simple logging utility for outputting messages</p>
</dd><dt>Matrix
<dd>
<p>Represents a mathematical matrix.</p>
</dd><dt>Mutex_m
<dd>
<p>Mixin to extend objects to be handled like a Mutex</p>
</dd><dt>OpenStruct
<dd>
<p>Class to build custom data structures, similar to a Hash</p>
</dd><dt>Prime
<dd>
<p>Prime numbers and factorization library</p>
</dd><dt>RDoc
<dd>
<p>Produces HTML and command-line documentation for Ruby</p>
</dd><dt>REXML
<dd>
<p>An XML toolkit for Ruby</p>
</dd><dt>RSS
<dd>
<p>Family of libraries that support various formats of XML “feeds”</p>
</dd><dt>Scanf
<dd>
<p>A Ruby implementation of the C function scanf(3)</p>
</dd><dt>Shell
<dd>
<p>An idiomatic Ruby interface for common UNIX shell commands</p>
</dd><dt>Synchronizer
<dd>
<p>A module that provides a two-phase lock with a counter</p>
</dd><dt>ThreadsWait
<dd>
<p>Watches for termination of multiple threads</p>
</dd><dt>Tracer
<dd>
<p>Outputs a source level execution trace of a Ruby program</p>
</dd><dt>WEBrick
<dd>
<p>An HTTP server toolkit for Ruby</p>
</dd></dl>
<h2 id="label-Extensions">Extensions</h2>
<dl class="rdoc-list note-list"><dt>BigDecimal
<dd>
<p>Provides arbitrary-precision floating point decimal arithmetic</p>
</dd><dt>Date
<dd>
<p>A subclass of Object includes Comparable module for handling dates</p>
</dd><dt>DateTime
<dd>
<p>Subclass of Date to handling dates, hours, minutes, seconds, offsets</p>
</dd><dt>DBM
<dd>
<p>Provides a wrapper for the UNIX-style Database Manager Library</p>
</dd><dt>Etc
<dd>
<p>Provides access to information typically stored in UNIX /etc directory</p>
</dd><dt>Fcntl
<dd>
<p>Loads constants defined in the OS fcntl.h C header file</p>
</dd><dt>Fiddle
<dd>
<p>A libffi wrapper for Ruby</p>
</dd><dt>GDBM
<dd>
<p>Ruby extension for the GNU dbm (gdbm) library</p>
</dd><dt>IO::console
<dd>
<p>Console interface</p>
</dd><dt>JSON
<dd>
<p>Implements Javascript Object Notation for Ruby</p>
</dd><dt>OpenSSL
<dd>
<p>Provides SSL, TLS and general purpose cryptography for Ruby</p>
</dd><dt>Psych
<dd>
<p>A YAML parser and emitter for Ruby</p>
</dd><dt>SDBM
<dd>
<p>Provides a simple file-based key-value store with String keys and values</p>
</dd><dt>StringIO
<dd>
<p>Pseudo I/O on String objects</p>
</dd><dt>StringScanner
<dd>
<p>Provides lexical scanning operations on a String</p>
</dd><dt>Zlib
<dd>
<p>Ruby interface for the zlib compression/decompression library</p>
</dd></dl>
<h1 id="label-Bundled+gems">Bundled gems</h1>
<h2 id="label-Libraries">Libraries</h2>
<dl class="rdoc-list note-list"><dt>DidYouMean
<dd>
<p>“Did you mean?” experience in Ruby</p>
</dd><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>
<div id='footer'></div>
</div> <!-- content -->
</div> <!-- y_main -->
</body>
</html>