Master programming syntax, solve interactive challenges & run live code in Syntaxis Explore Arena →
menu_book Course Curriculum (Crystal) expand_more
Crystal / Concurrency

select

Learn select in Crystal with a construct-specific explanation, unique example, engineering boundary, and mastery check.

10 min read • Advanced

select is a focused Crystal topic inside Concurrency. This lesson explains the construct itself, the state or value it operates on, and the observable result it produces.

Read the example as a small executable experiment. Identify the exact syntax that belongs to select, then change one input and predict the result before running it.

Topic-specific example

crystal-07-05-select.cr
crystal Try It Live
select
when value = ch.receive
  puts value
when timeout(100.milliseconds)
  puts "timeout"
end
Edge case / engineering note

select has rules that are easy to miss when the example is copied mechanically. Check the feature-specific boundary shown by this construct: scope, mutability, evaluation order, type constraints, lifetime, error behavior, compile-time restrictions, or resource cleanup where applicable.

Content source & attribution
Original Syntaxis Content · Original Syntaxis Content

Lesson quizzes