BernardK

BernardK

Programming Ruby 3.2 (5th Edition): B1.0 page 203, sentences difficult to understand

@noelrappin

page 203, first paragraph, line 2-3 :

ractor. The entrance lines are infinite, and the sending call is guaranteed not to block
for “if this goes wrong you have much larger problems” meanings of “guaranteed.”

I have read again and again and don’t really understood. For what I have experimented until now, I would be satisfied with :

The entrance lines are infinite, and the sending call is guaranteed not to block.

+++++ paragraph 5, last line :

… … … … … … … … … … … … … … … … … … The only
way to get a value into a ractor is via send.

I can imagine “get” as obtaining that a new value is introduced into the ractor, but combined with the following “into” and “send”, I would feel more natural to say set :

The only way to set a value into a ractor is via send.

+++++ paragraph 7, second bullet :

The code block hits a Ractor.recieve call, in which case it waits for a call to send, the

Not clear at first glance. I would say :

in which case it waits for another ractor calling send with this [known] ractor as a receiver, …

known is not indispensable, just to echo the first line of this page.

First Post!

noelrappin

noelrappin

Author of Modern Front-End Development for Rails

The sending call is not quite guaranteed not to block, but if it doesn’t block, you almost certainly have bigger problems.

Hmm… how about “The only way to have a value be visible to a ractor is via send.”

How about "in which case it waits to receive another call to send

Where Next?

Popular Pragmatic Bookshelf topics Top

jon
Some minor things in the paper edition that says “3 2020” on the title page verso, not mentioned in the book’s errata online: p. 186 But...
New
belgoros
Following the steps described in Chapter 6 of the book, I’m stuck with running the migration as described on page 84: bundle exec sequel...
New
jesse050717
Title: Web Development with Clojure, Third Edition, pg 116 Hi - I just started chapter 5 and I am stuck on page 116 while trying to star...
New
yulkin
your book suggests to use Image.toByteData() to convert image to bytes, however I get the following error: "the getter ‘toByteData’ isn’t...
New
mikecargal
Title: Hands-On Rust (Chapter 11: prefab) Just played a couple of amulet-less games. With a bit of debugging, I believe that your can_p...
New
AleksandrKudashkin
On the page xv there is an instruction to run bin/setup from the main folder. I downloaded the source code today (12/03/21) and can’t see...
New
joepstender
The generated iex result below should list products instead of product for the metadata. (page 67) iex> product = %Product{} %Pento....
New
andreheijstek
After running /bin/setup, the first error was: The foreman' command exists in these Ruby versions: That was easy to fix: gem install fore...
New
ggerico
I got this error when executing the plot files on macOS Ventura 13.0.1 with Python 3.10.8 and matplotlib 3.6.1: programming_ML/code/03_...
New
dachristenson
I just bought this book to learn about Android development, and I’m already running into a major issue in Ch. 1, p. 20: “Update activity...
New

Other popular topics Top

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
PragmaticBookshelf
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New

Sub Categories: