Programming Ruby 3.2 (5th Edition) (Pragmatic Bookshelf)

PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used third-party tools.

Noel Rappin @noelrappin, with Dave Thomas @pragdave

Ruby is one of the most important programming languages in use for web development. It powers the Rails framework, which is the backing of some of the most important sites on the web. The Pickaxe Book, named for the tool on the cover, is the definitive reference on Ruby, a highly-regarded, fully object-oriented programming language. This updated edition is a comprehensive reference on the language itself, with a tutorial on the most important features of Ruby—including pattern matching and Ractors—and describes the language through Ruby 3.2.

Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way instead of helping you get the work done? Are you using Rails and want to dig deeper into the underlying Ruby language? If so, then we’ve got a language and book for you!

Ruby is a fully object-oriented language. The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of programmers that want to get things done quickly and cleanly.

This comprehensive reference manual for Ruby includes a description of the most important standard library modules, built-in classes, and modules. It also includes all the new and changed syntax and semantics introduced through Ruby 3.2, including pattern matching and Ractors, and describes the language through Ruby 3.2.


Noel Rappin is a Staff Software Engineer at Chime Financial. He is the author of multiple technical books including Rails 5 Test Prescriptions and Modern Front End Development With Rails, and was the host of the Tech Done Right Podcast. Follow Noel on Twitter @noelrap, and online at noelrappin.com.

Dave Thomas is a cornerstone of the Ruby community, and is personally responsible for many of its innovative directions and initiatives. He is one of the founders of the Pragmatic Programmers and the Pragmatic Bookshelf.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

Latest Threads About This Book Top

sinaru
There is an example of using Threads on page 188: require "net/http" pages = %w[www.rubycentral.org www.pragprog.com www.google.com] t...
New
ch70
@noelrappin On page 376 in the second paragraph (the one below the image): wrong: … then looks in its singleton class class for … cor...
New
ch70
@noelrappin On page 376, first paragraph: wrong: … , that’s the first place Ruby looks for object lookup. correct: … , that’s the fi...
New
ch70
@noelrappin On page 375 second to last paragraph: wrong: When you define a singleton class, Ruby creates … correct: When you define ...
New
jconley88
From Chapter 5: Splat! Expanding Collections in Method Calls We’ve seen that if you prefix the name of a method argument with an asteri...
New
jygh
@noelrappin In the Where Ruby Finds Its Libraries section on page 244 there’s a discussion about the standard directories used for libra...
New
jygh
Title: Name of book: Programming Ruby 3.3 (page 227) @noelrappin On page 227 there’s a section entitled RSpec and Mocks. Immediately f...
New
stmpjmpr
@noelrappin On page 122, in the discussion of “Strings and Encodings”, it is stated: “A Unicode character is two bytes long, which makes...
New
PragmaticBookshelf
A Ruby-Centric Chat with Noel Rappin @noelrappin Once you start noodling around with Ruby you quickly figure out, as Noel Rappi...
New
LorinRicker
Title: Programming Ruby 3.2 (5th edition), p 23 (in Beta 6) – After showing declaration of hashed “instrument_section” values, the sampl...
New

Most Active This Week Top

Most Active This Month Top

Most Active This Year Top

PragmaticBookshelf
A Ruby-Centric Chat with Noel Rappin @noelrappin Once you start noodling around with Ruby you quickly figure out, as Noel Rappi...
New
PragmaticBookshelf
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
New
ch70
@noelrappin On page 376 in the second paragraph (the one below the image): wrong: … then looks in its singleton class class for … cor...
New
ch70
@noelrappin On page 375 second to last paragraph: wrong: When you define a singleton class, Ruby creates … correct: When you define ...
New
ch70
@noelrappin On page 376, first paragraph: wrong: … , that’s the first place Ruby looks for object lookup. correct: … , that’s the fi...
New
sinaru
There is an example of using Threads on page 188: require "net/http" pages = %w[www.rubycentral.org www.pragprog.com www.google.com] t...
New

Most Active Last Three Years Top

jez
“Alternately you can list one or more specific paths (.rb or .rbi files after the tc) to limit checking,” It might be worth mentioning t...
New
s2k
Hi @noelrappin, first of all: It’s SO good to read an updated version of this book! Thanks for all the effort! :pray: The text says: ...
New
LorinRicker
@noelrappin Programming Ruby 3.2 (5th Edition) (PragProg), Beta release, p 295, under the subheading “Querying the System”, 2nd paragrap...
New
BernardK
@noelrappin +++++ page 49 Reopening Classes While ... the most unique features of Ruby’s class structure: The ability to ... ...
New
rearick
@noelrappin On page 68 of the PDF in the paragraph preceding the fib_up_to method definition, the word “we” is duplicated. The text read...
New
BernardK
@noelrappin page 269, running rspec These tests pass (after you update the .gemspec file): $ rspec spec/aaagmnr/options_spec.rb It ...
New
BernardK
@noelrappin page 274, in Packaging Your RubyGem, paragraph 2, command $ gem build Missing README.md in code/gems/aaagmnr : % gem build...
New
sthuysen
“One thing you might find unusual is that in the second clause Ruby uses the keyword eslif—one word, missing an “e”—to indicate “else if”...
New
rearick
@noelrappin On page xii of the Preface, the paragraph beginning with, “Here, you can see…,” has an error in the last sentence. Following...
New
wiwhi
@noelrappin “The order of the keys in the hash is stable and will alway match the order in which the keys were added to the hash.” shou...
New
BernardK
@noelrappin I’m not Anglophone, so I’m not sure. Third paragraph from end of page 21, second line : Idiomatic Ruby tends to lean in to ...
New
felipem
@noelrappin I think this thing &: would be a great addition to the list of notation and typography that is called by a name that is ...
New
rearick
@noelrappin On page 89 of the PDF in the last sentence of the last paragraph of the page and just before the example that begins “class C...
New
Oli0li
First of all, thank you so much @noelrappin for writing this book, I am just starting with Ruby and this book is very helpful. I just wa...
New
BernardK
@noelrappin page 335, second to last line : colon instead of period at end of sentence : call, either of those can be arguments to run:...
New

Most Active Over Three Years Top

rearick
@noelrappin in the first sentence of the second paragraph of page 14 the text includes a “for” that shouldn’t be there: “The official Ru...
New
BernardK
@noelrappin Many places have require “name”, other require name. If you want to have the same style everywhere, the following pages are ...
New
BernardK
@noelrappin page 339, third paragraph from bottom, line 3 : twice the pulling in both Sinatra itself, and the the Thin web server, when...
New
BernardK
@noelrappin Already in the previous edition ! page 373, third paragraph, first line : built in to or built into ? But when you metapr...
New
New
BernardK
@noelrappin Page 187, last paragraph, line 7 : (again, with the exception of the Ractor library). Ruby installations that do want to t...
New
BernardK
@noelrappin page 513, third paragraph, second line : might not have a later if that might cause performance issues later—a short script...
New
BernardK
@noelrappin page 472, paragraph after Safe Navigation, line 2 : twice is method is is not called and the entire expression returns nil....
New
BernardK
@noelrappin page 525, last example : … and "IBM".tr("B-Z", "A-Y") => "HAL" … for those who have seen the film 2001: A Space Odyssey...
New
BernardK
@noelrappin page 625, last bullet, first line : parameter → argument (or arguments ?) The third line uses arguments, so I suppose you a...
New
BernardK
@noelrappin page 565, third paragraph : strange sentence None of these methods are dependent on the file name being managed actually e...
New
rearick
@noelrappin In the third sentence of the first full paragraph on page 19, the word “response” is used when “responds” should be used ins...
New
LorinRicker
@noelrappin p. 356, example method in section “Ruby Style in the Large”, the definition for the first example of method “send_promotion_...
New
wiwhi
@noelrappin Duplicate word: “We don’t need to declare the symbols or assign assign them a value…”
New
rearick
@noelrappin Thanks for all your effort with this new edition of the Pickaxe! On page 13 of the PDF in the second paragraph the word “it”...
New

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.