Az IronRuby programozási nyelv

Események

Számos módja van, az események használatára az IronRuby-ban. A legegyszerűbb módja, hogy adjunk egy kód blokk az eseményre:

>> require "System.Windows.Forms"
=> true
>> button = System::Windows::Forms::Button.new
=> System.Windows.Forms.Button, Text:
>> button.click { |sender, e| puts "Click!" }
=> #
>> button.perform_click
Click! => nil
A fenti példával teljesen ekvivalens megoldás:
>> require "System.Windows.Forms"
=> true
>> button = System::Windows::Forms::Button.new
=> System.Windows.Forms.Button, Text:
>> button.click do |sender, e|
?> puts "Click!"
>> end
=> #
>> button.perform_click
Click!
=> nil
Továbbá lehetőségünk van az eseményeket átadni a Proc objektumnak, ha szükséges az esemény elárolása, megőrzése. Így lehetőségünk van a későbbiekben leiratkozni az eseményről:
>> require "System.Windows.Forms"
=> true
>> button = System::Windows::Forms::Button.new
=> System.Windows.Forms.Button, Text:
>> on_click = proc { |sender, e| puts "Click!" }
=> #
>> button.click(&on_click)
=> #
>> button.perform_click
Click!
=> nil
>> button.click.remove(on_click)
=> nil
>> button.perform_click
=> nil