Programming Ruby: A Pragmatic Programmer's Guide (Paperback)

David Thomas, Andrew Hunt, Dave Thomas

  • 出版商: Addison Wesley
  • 出版日期: 2000-12-15
  • 售價: $1,840
  • 貴賓價: 9.5$1,748
  • 語言: 英文
  • 頁數: 564
  • 裝訂: Paperback
  • ISBN: 0201710897
  • ISBN-13: 9780201710892
  • 相關分類: Ruby
  • 已過版

買這商品的人也買了...

相關主題

商品描述


Description

Leverage Ruby, the new object-oriented scripting language that delivers unprecedented power, flexibility, and clarity!

  • The start-to-finish Ruby tutorial and reference by the two leading Ruby developers.
  • Written with the pragmatic programmer wit and style readers love!
  • Comprehensive Ruby 1.6 reference.
Ruby, a new, object-oriented scripting language, has won over thousands of Perl and Python programmers in Japan -- and it's now launching worldwide. This is the world's first English-language developer's guide to Ruby. Written by the two leading Ruby developers, Programming Ruby demonstrates Ruby's compelling advantages, and serves as a start-to-finish tutorial and reference for every developer. The authors introduce all of Ruby's basics, including classes, objects, variables, container, iterators, types, methods, expressions, modules, I/O, and threads. You'll master Ruby development for the Web, including CGI scripts and embedding Ruby in HTML; learn how to create GUI-based Ruby applications with TK; and discover techniques for integrating Ruby with Windows. Programming Ruby shows how to extend Ruby in C, and presents in-depth coverage of advanced features. Numerous fully functional code examples are included. The book contains an alphabetical reference to Ruby 1.6 -- the latest version -- documenting over 800 methods, 40 built-in classes, and many useful library modules.

Dave Thomas is an independent consultant specializing in solving complex business problems using advanced technologies and software engineering approaches. With Andrew Hunt, he co-authored The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley, 2000). Andrew Hunt designs and implements innovative Unix software solutions for Toolshed Technologies, Inc. He is fluent in many programming languages and an expert at Unix system troubleshooting and system integration. A member of the IEEE Computer Society's Technical Committee for Computer Languages, Hunt co-authored The Pragmatic Programmer.

Back to Top


Table Of Contents

Foreword.
Preface.
1. Roadmap.

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!

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.

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!

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.
WIN32OLE.
WIN32OLE_EVENT.
Win32API.

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. 0201710897T04062001


Back to Top