Programming Ruby : the pragmatic programmer's guide /

Saved in:
Bibliographic Details
Author / Creator:Thomas, David, 1956-
Imprint:Boston : Addison-Wesley, c2001.
Description:xxxii, 564 p. : ill. ; 24 cm.
Language:English
Subject:
Format: Print Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/4414102
Hidden Bibliographic Details
Other authors / contributors:Hunt, Andrew, 1964-
ISBN:0201710897 (pbk.)
Notes:Includes bibliographical references and index.
committed to retain 20170930 20421213 HathiTrust
Table of Contents:
  • Foreword
  • Preface
  • 1. Roadmap
  • Part I. Facets of Ruby
  • 2. Ruby.New
  • Ruby Is an Object-Oriented Language
  • Some Basic Ruby
  • Arrays and Hashes
  • Control Structures
  • Regular Expressions
  • Blocks and Iterators
  • Reading and 'Riting
  • Onward and Upward
  • 3. Classes, Objects, and Variables
  • Inheritance and Messages
  • Objects and Attributes
  • Class Variables and Class Methods
  • Access Control
  • Variables
  • 4. Containers, Blocks, and Iterators
  • Containers
  • Blocks and Iterators
  • 5. Standard Types
  • Numbers
  • Strings
  • Ranges
  • Regular Expressions
  • 6. More About Methods
  • Defining a Method
  • Calling a Method
  • 7. Expressions
  • Operator Expressions
  • Miscellaneous Expressions
  • Assignment
  • Conditional Execution
  • Case Expressions
  • Loops
  • Variable Scope and Loops
  • 8. Exceptions, Catch, and Throw
  • The Exception Class
  • Handling Exceptions
  • Raising Exceptions
  • Catch and Throw
  • 9. Modules
  • Namespaces
  • Mixins
  • Iterators and the Enumerable Module
  • Including Other Files
  • 10. Basic Input and Output
  • What Is an IO Object?
  • Opening and Closing Files
  • Reading and Writing Files
  • Talking to Networks
  • 11. Threads and Processes
  • Multithreading
  • Controlling the Thread Scheduler
  • Mutual Exclusion
  • Running Multiple Processes
  • 12. When Trouble Strikes
  • Ruby Debugger
  • Interactive Ruby
  • But It Doesn't Work!
  • But It's Too Slow!
  • Part II. Ruby in Its Setting
  • 13. Ruby and Its World
  • Command-Line Arguments
  • Program Termination
  • Environment Variables
  • Where Ruby Finds Its Modules
  • Build Environment
  • 14. Ruby and the Web
  • Writing CGI Scripts
  • Embedding Ruby in HTML
  • Improving Performance
  • 15. Ruby Tk
  • Simple Tk Application
  • Widgets
  • Binding Events
  • Canvas
  • Scrolling
  • Translating from Perl/Tk Documentation
  • 16. Ruby and Microsoft Windows
  • Ruby Ports
  • Running Ruby Under Windows
  • Win32API
  • Windows Automation
  • 17. Extending Ruby
  • Ruby Objects in C
  • Writing Ruby in C
  • Sharing Data Between Ruby and C
  • Memory Allocation
  • Creating an Extension
  • Embedding a Ruby Interpreter
  • Bridging Ruby to Other Languages
  • Ruby C Language API
  • Part III. Ruby Crystallized
  • 18. The Ruby Language
  • Source Layout
  • The Basic Types
  • Names
  • Variables and Constants
  • Predefined Variables
  • Expressions
  • Boolean Expressions
  • if and unless Expressions
  • case Expressions
  • Loop Constructs
  • Method Definition
  • Invoking a Method
  • Aliasing
  • Class Definition
  • Module Definitions
  • Access Control
  • Blocks, Closures, and Proc Objects
  • Exceptions
  • Catch and Throw
  • 19. Classes and Objects
  • How Classes and Objects Interact
  • Class and Module Definitions
  • Top-Level Execution Environment
  • Inheritance and Visibility
  • Freezing Objects
  • 20. Locking Ruby in the Safe
  • Safe Levels
  • Tainted Objects
  • 21. Reflection, ObjectSpace, and Distributed Ruby
  • Looking at Objects
  • Looking at Classes
  • Calling Methods Dynamically
  • System Hooks
  • Tracing Your Program's Execution
  • Marshaling and Distributed Ruby
  • Compile Time? Runtime? Anytime!
  • Part IV. Ruby Library Reference
  • 22. Built-In Classes
  • Alphabetical Listing
  • Array
  • Bignum
  • Binding
  • Class
  • Continuation
  • Dir
  • Exception
  • FalseClass
  • File
  • File::Stat
  • Fixnum
  • Float
  • Hash
  • Integer
  • IO
  • MatchData
  • Method
  • Module
  • NilClass
  • Numeric
  • Object
  • Proc
  • Range
  • Regexp
  • String
  • Struct
  • Struct::Tms
  • Symbol
  • Thread
  • ThreadGroup
  • Time
  • TrueClass
  • 23. Built-In Modules
  • Alphabetical Listing
  • Comparable
  • Enumerable
  • Errno
  • FileTest
  • GC
  • Kernel
  • Marshal
  • Math
  • ObjectSpace
  • Process
  • 24. Standard Library
  • Complex
  • Date
  • English
  • Find
  • File
  • GetoptLong
  • mkmf
  • ParseDate
  • profile
  • PStore
  • Tempfile
  • Mutex
  • ConditionVariable
  • timeout
  • WeakRef
  • 25. Object-Oriented Design Libraries
  • visitor
  • delegate
  • observer
  • singleton
  • 26. Network and Web Libraries
  • Socket-Level Access
  • BasicSocket
  • IPSocket
  • TCPSocket
  • SOCKSSocket
  • TCPServer
  • UDPSocket
  • UNIXSocket
  • UNIXServer
  • Socket
  • Higher-Level Access
  • Net::FTP
  • Net::HTTP
  • Net::HTTPResponse
  • Net::POP
  • Net::APOP
  • Net::POPMail
  • Net::SMTP
  • Net::Telnet
  • CGI Development
  • CGI
  • CGI::Session
  • 27. Microsoft Windows Support
  • WIN320LE
  • WIN320LE_EVENT
  • Win32API
  • Part V. Appendices
  • A. Embedded Documentation
  • Inline Formatting
  • Cross References
  • Method Names
  • Including Other Files
  • Using rdtool
  • Mandatory Disclaimer
  • B. Interactive Ruby Shell
  • Command Line
  • Initialization File
  • Commands
  • Restrictions
  • rtags, xmp, and the Frame Class
  • C. Support
  • Web Sites
  • Download Sites
  • Usenet Newsgroup
  • Mailing Lists
  • Bug Reporting
  • D. Bibliography
  • Index