Cargando…

Comprehensive Ruby Programming.

This book will provide you with all of the tools you need to be a professional Ruby developer. Starting with the core principles, such as syntax and best practices, and up to advanced topics like metaprogramming and big data analysis. About This Book* Provides the core skills required to become a Ru...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Hudgens, Jordan
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Packt Publishing, 2017.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover
  • Copyright
  • Credits
  • About the Author
  • www.PacktPub.com
  • Customer Feedback
  • Table of Contents
  • Preface
  • Chapter 1: Introduction to the Ruby Programming Language
  • What is Ruby?
  • Popular sites that use Ruby
  • Installing Ruby on a computer
  • Ruby language dashboard
  • Installing different Ruby versions with RVM
  • Summary
  • Chapter 2: Ruby Variables
  • Using variables in Ruby
  • Variable code implementation
  • Printing to the Ruby console
  • Using puts
  • Using p
  • Getting input from the Ruby console using gets and chomp
  • Code implementation
  • Variable scope and variable types
  • Local variables
  • Global variables
  • Instance variables
  • Constants
  • Class variables
  • Summary
  • Chapter 3: Ruby Strings
  • Using strings in Ruby
  • Missing quotation marks
  • Printing strings
  • Storing strings in variables
  • String interpolation guide for Ruby
  • What is string interpolation?
  • String manipulation guide
  • What is string manipulation?
  • String manipulation code examples
  • Method chaining
  • A practical implementation
  • Give it a bang!
  • String substitution guide
  • Adding a bang
  • Becoming a block head
  • Split, strip, and join guides for strings
  • Using the strip method
  • Using the split method
  • Using the join method
  • Summary
  • Chapter 4: Working with Numbers in Ruby
  • Integer arithmetic guide
  • Arithmetic order of operations
  • Difference between integers and floats
  • Summary
  • Chapter 5: Ruby Methods
  • Creating methods in Ruby
  • What does a Ruby method return?
  • What are the differences between class and instance methods in Ruby?
  • Ruby proc tutorial
  • Proc code example
  • What is a block?
  • The Ruby lambda tutorial
  • Stabby lambdas
  • What is the difference between procs and lambdas in Ruby?
  • Argument count
  • Return behavior
  • Guide to method arguments in Ruby.
  • What are method arguments?
  • Method argument syntax
  • Method argument code examples
  • Named arguments
  • Default argument values
  • Using splat and optional arguments in Ruby methods
  • Traditional splat arguments
  • Keyword-based splat arguments
  • Optional arguments
  • Summary
  • Chapter 6: Ruby Iterators and Loops
  • The while loop guide
  • The while loop code example
  • The each iterator method tutorial
  • The each loop code example
  • The for ... in loops tutorial
  • Looping over a hash
  • Nested iterator code example
  • Using the select method
  • Using the map method
  • part 1
  • The map method code example
  • Using the map method
  • part 2
  • Summing values in an array using the inject method
  • Summary
  • Chapter 7: Ruby Collections
  • Using arrays
  • Deleting items from arrays
  • Using push and pop for arrays
  • The Ruby hash tutorial
  • The hash code example
  • Deleting elements from a hash
  • Iterating over a hash for a key or value
  • Top hash methods in Ruby
  • Adding elements to a hash
  • Swapping keys and values
  • Merging hashes
  • Converting a hash into an array
  • Listing all keys
  • Listing all values
  • Summary
  • Chapter 8: Ruby Conditionals
  • The conditionals guide
  • Real-world use of conditionals
  • Code example of conditionals
  • Syntax for the unless conditional
  • Running Ruby files
  • The unless conditional code example
  • Nested if ... else conditionals
  • The if ... elsif conditional code example
  • The conditional workflow
  • Guide to compound conditionals
  • Compound conditionals code example
  • Compounded compound conditionals
  • Additional conditional operators
  • Summary
  • Chapter 9: Object-Oriented Programming in Ruby
  • Introduction to how OOP works
  • A real-world OOP example
  • Ruby OOP development
  • setters, getters, and methods
  • Working with instantiation in Ruby.
  • What does instantiation mean?
  • A real-world example
  • Connecting the dots
  • Instantiation code example
  • Implementing instantiation
  • Creating an initializer method in a Ruby class
  • Adding an initializer to a Ruby class
  • Working with optional values
  • Using named arguments
  • Overriding default values
  • The working of OOP inheritance
  • Overview of private versus public methods
  • Private versus public methods
  • Private method code example
  • The working of polymorphism and usage of super
  • So how does polymorphism fit in?
  • Dead simple OOP
  • My history with OOP
  • How does OOP work?
  • SOLID OOP development
  • the simple responsibility principle
  • The single responsibility principle
  • The SRP in the real world
  • An SRP example
  • The class that knew too much
  • Rule of thumb
  • no ands allowed
  • A mailer class
  • The sales tax class
  • Why the SRP is important
  • SOLID OOP development
  • the open/closed principle guide and example
  • The open/closed principle definition
  • A surprisingly challenging task
  • The open/closed principle example
  • The naive approach
  • I don't like change!
  • A better way
  • SOLID OOP development
  • the Liskov substitution principle
  • The LSP definition
  • Breaking down the LSP
  • The LSP example
  • The problem
  • The LSP violation
  • The fix
  • SOLID OOP development
  • the interface segregation principle
  • The ISP definition
  • The ISP code example
  • Introducing the moderator
  • A better way
  • The result
  • A caveat
  • SOLID OOP development
  • the dependency inversion principle
  • The DIP in the real world
  • The DIP definition
  • The DIP code example
  • Recap
  • Summary
  • Chapter 10: Working with the Filesystem in Ruby
  • Creating a file
  • Ruby File class
  • Other options you can pass as the second option
  • Reading files into a program using the File class
  • Deleting a file
  • Appending a file.
  • Building a log file
  • Summary
  • Chapter 11: Error Handling in Ruby
  • Error handling tutorial
  • Error handling
  • the best practices
  • Developing a custom error logger in Ruby
  • Summary
  • Chapter 12: Regular Expressions in Ruby
  • Regular expression code example
  • Regex code example
  • How to validate an IP address using regular expressions
  • How to develop a wheel of fortune game
  • Summary
  • Chapter 13: Searching with grep in Ruby
  • How to use grep in Ruby
  • How to use grep instead of the select and map methods
  • Summary
  • Chapter 14: Ruby Gems
  • Introduction to Ruby gems
  • How to research Ruby gems
  • How to research gems
  • Summary
  • Chapter 15: Ruby Metaprogramming
  • Metaprogramming introduction
  • How to integrate metaprogramming techniques into a custom class
  • How to use metaprogramming for opening and customizing the String class
  • How Rails use metaprogramming for the find_by method
  • Utilizing metaprogramming with method_missing to create methods on the fly
  • Why do we need to call super?
  • Resources
  • Incorporating respond_to_missing to conform to metaprogramming best practices
  • Resources
  • Implementing metaprogramming with define_method
  • Resources
  • Summary
  • Chapter 16: Ruby Web Frameworks
  • Sinatra web framework development
  • Introduction to the Ruby on Rails framework
  • Summary
  • Chapter 17: Working with APIs in Ruby
  • How to work with APIs in Ruby
  • How to use the httparty Ruby gem
  • How to create a custom API connector in Ruby
  • How to parse an API in Ruby
  • Summary
  • Chapter 18: Ruby Algorithms
  • Introduction to sorting algorithms
  • Bubble sort
  • Quick sort
  • Merge sort
  • Implementing the bubble sort algorithm
  • Bubble sort code example
  • Implementing the quick sort algorithm
  • Explanation of quick sort
  • Quick sort code example
  • Implementing the merge sort algorithm.
  • Implementing a prime number counting algorithm
  • How to code the power digit sum algorithm
  • Implementing a humanize counting algorithm
  • Implementing a date algorithm
  • How to code a Fibonacci digit counter
  • Implementing a permutation algorithm
  • Implementing an amicable number algorithm
  • Implementing a factorial algorithm
  • Implementing an even Fibonacci number algorithm
  • Implementing the least common multiple
  • Summary
  • Chapter 19: Machine Learning
  • Big data analysis
  • Basic decision tree implementation
  • Addition of attributes
  • Addition of training data and its values
  • Calling the ID3 method
  • Function of the train method
  • Addition of the test method
  • Setting up decision variables
  • Print the results out
  • Testing the program
  • Advantage of decision trees over if ... else statements
  • How to develop a big data analysis application in Ruby
  • Summary
  • Index.