Hacker News Digest

14 октября 2025 г. в 15:58 • tech.stonecharioteer.com • ⭐ 163 • 💬 96

OriginalHN

#ruby#rspec#dsl

Ruby Blocks

Ruby блока — это фундаментальная концепция, делающая язык выразительным и читаемым. Автор подчеркивает, что даже конструкции вроде it в RSpec являются методами с блоками, что открывает новые горизонты понимания языка. Блоки позволяют создавать мини-языки, расширяя встроенные типы — например, добавляя методы к Integer для создания цепочек вроде 30.minutes.from_now.

Применение блоков разнообразно: от управления ресурсами (как в File.open) до создания DSL. В отличие от Python, где управление ресурсами требует специального ключевого слова with, в Ruby это делается через методы, принимающие блоки. Автор демонстрирует, как можно создать систему управления задачами с помощью блоков, показывая их гибкость и мощь. Понимание этой концепции, по мнению автора, ключ к по-настоящему глубокому пониманию Ruby.