Contribute to Definence/The_Well_Grounded_Rubyist development by creating an account on GitHub. Contribute to mattswann/wdi_resources development by creating an account on GitHub. $ pdf + ePub. The Well-Grounded Rubyist, 2nd Edition PDF Free Download , Reviews, Read Online, ISBN: , By David A.
|Language:||English, Spanish, German|
|Distribution:||Free* [*Register to download]|
In this chapter, we'll explore Ruby's facilities for pattern matching and text process - ing, centering around the use of regular expressions. A regular expression in. June ; ISBN ; pages The Well-Grounded Rubyist, Second Edition addresses both newcomers to Ruby as well as Ruby programmers. Well Grounded Rubyist 2nd Edition by David A Black available in Trade download of the print book includes a free eBook in PDF, Kindle, and.
Procs as closures Proc parameters and arguments Methods as objects The rationale for methods as objects The eval family of methods Executing arbitrary strings as code with eval The dangers of eval Parallel execution with threads Killing, stopping, and starting threads A threaded date server Writing a chat server using sockets and threads Threads and variables Issuing system commands from inside Ruby programs The system method and backticks Communicating with programs via open and popen3 Callbacks, hooks, and runtime introspection Callbacks and hooks Trapping include and prepend operations Intercepting extend Intercepting inheritance with Class inherited Interpreting object capability queries Listing private and protected methods Getting class and module instance methods Listing objects' singleton methods Introspection of variables and constants Listing local and global variables Listing instance variables Examining the stack trace with caller A Ruby syntax survival kit.
The variety of Ruby identifiers. Method calls, messages, and Ruby objects. Writing and saving a simple program. Anatomy of the Ruby installation 1. The Ruby standard library subdirectory RbConfig:: The C extensions directory RbConfig:: Ruby extensions and programming libraries 1. Loading external files and extensions.
Out-of-the-box Ruby tools and applications 1. Interpreter command-line switches. A closer look at interactive Ruby interpretation with irb. The rake task-management utility. Installing packages with the gem command.
Objects, methods, and local variables 2. Talking to objects 2. Ruby and object orientation. Crafting an object: The behavior of a ticket 2.
The ticket object, behavior first. Shortening the ticket code via string interpolation. Ticket availability: Expressing Boolean state in a method. The innate behaviors of an object 2.
Sending messages to objects with the send method. A close look at method arguments 2. Required and optional arguments. Order of parameters and arguments. Local variables and variable assignment 2. Variables, objects, and references. References in variable assignment and reassignment. References and method arguments. Local variables and the things that look like them. Organizing objects with classes 3. Classes and instances 3.
Instance variables and object state 3. Initializing an object with state. Setter methods 3. Syntactic sugar for assignment-like methods. Automating the creation of attributes. Inheritance and the Ruby class hierarchy 3. Single inheritance: One to a customer. Object ancestry and the not-so-missing link: The Object class. Classes as objects and message receivers 3. Creating class objects.
How class objects call methods. When, and why, to write a class method. Class methods vs.
Constants up close 3. Basic use of constants. Reassigning vs. Nature vs. Modules and program organization 4.
Basics of module creation and use 4. A module encapsulating "stacklikeness". Modules, classes, and method lookup 4. Illustrating the basics of method lookup.
Defining the same method more than once. The rules of method lookup summarized. Going up the method search path with super. The default object self , scope, and visibility 5. Who gets to be self, and where. Self inside class, module, and method definitions. Self as the default receiver of messages. Resolving instance variables through self. Determining scope 5. Global scope and global variables. The interaction between local scope and self. Scope and resolution of constants.
Class variable syntax, scope, and visibility. Deploying method-access rules 5. Private methods. Writing and using top-level methods 5. Defining a top-level method. Predefined built-in top-level methods. Control-flow techniques 6. Conditional code execution 6. The if keyword and friends.
Assignment syntax in condition bodies and tests. Repeating actions with loops 6. Unconditional looping with the loop method. Conditional looping with the while and until keywords. Looping based on a list of values. Iterators and code blocks6. The ingredients of iteration 6. Iteration, home-style. Curly braces vs.
Block parameters and variable scope. Error handling and exceptions 6. Raising and rescuing exceptions. The rescue keyword to the rescue!
Raising exceptions explicitly. Capturing an exception in a rescue clause.
Creating your own exception classes. Built-in essentials 7. Recurrent syntactic sugar 7. Defining operators by defining methods. Destructive receiver-changing effects as danger. Destructiveness and "danger" vary independently. String conversion: Boolean states, Boolean objects, and nil 7. True and false as states. Comparing two objects 7.
Equality tests. Comparisons and the Comparable module. Inspecting object capabilities 7. Querying class and module objects. Filtered and selected method lists. Strings, symbols, and other scalar objects 8. Working with strings 8. String notation. String comparison and ordering.
String encoding: A brief introduction. Symbols and their uses 8. Chief characteristics of symbols. Strings and symbols in comparison. Numerical objects 8. Numerical classes. Performing arithmetic operations. Times and dates 8. Collection and container objects 9. Arrays and hashes in comparison. Collection handling with arrays 9. Creating a new array. Inserting, retrieving, and removing array elements. Combining arrays with other arrays. Hashes 9. Creating a new hash.
Inserting, retrieving, and removing hash pairs. Specifying default hash values and behavior. Combining hashes with other hashes. Hashes as final method arguments. A detour back to argument syntax: Named keyword arguments. Ranges 9. Creating a range. Sets 9.