# **💎 Booth: Ruby (1995)**

* **Creator:** Yukihiro "Matz" Matsumoto  
* **Design Philosophy:** Designed for programmer productivity and sheer enjoyment. Ruby has a completely uniform object system: absolutely everything, including integers, classes, and nil, is a true object. It boasts a human-like expressive syntax that supports metaprogramming, dynamic class modifications ("monkey patching"), and elegant functional blocks.  
* **Key Innovations:** Blocks and closures (yield), dynamic mixins through modules, structural metaprogramming (defining methods at runtime), and highly readable syntax structures.

## **🚀 Hello, World\!**

puts "Hello, World\!"

## **🎨 Showpiece: Custom Block Execution & Dynamic DSL Evaluation**

Ruby's expressive power is illustrated by its functional "blocks." Functions can accept arbitrary structural code chunks to yield parameters or configure internal values, serving as the basis for dynamic Domain-Specific Languages (DSLs).

Mathematically, let's represent a linear algebraic polynomial evaluation passing through a functional block step:

![][image1]class PolynomialCalculator  
  attr\_accessor :a, :b, :c

  def initialize(a, b, c)  
    @a \= a  
    @b \= b  
    @c \= c  
  end

  \# Accepts an execution block and yields evaluated components  
  def evaluate\_for(x)  
    y \= (@a \* x\*\*2) \+ (@b \* x) \+ @c  
    if block\_given?  
      yield(x, y) \# Pass both inputs and calculation result into the block  
    else  
      y  
    end  
  end  
end

\# Create a quadratic calculation structure: 2x^2 \+ 4x \+ 6  
calculator \= PolynomialCalculator.new(2, 4, 6\)

\# Execute evaluation using Ruby block curly brackets or do/end syntax  
calculator.evaluate\_for(3) do |input, result|  
  puts "Evaluating polynomial 2x^2 \+ 4x \+ 6 where x \= \#{input}:"  
  puts "Calculated f(\#{input}) \= \#{result}"  
end

\# Standard iteration via blocks  
puts "Iterating using clean Ruby syntax:"  
5.times { |i| print "\#{i}... " }  
puts "Blast off\!"  


[image1]: <data:image/png;base64,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>