Sonic Pi und Ruby haben viel gemeinsam. Vieles, was in Ruby funktioniert, kann auch in Sonic Pi verwendet werden, auch wenn es nicht in der Dokumentation steht. Wie genau ist der Zusammenhang? Sonic Pi Mastermind Sam Aaron hat in der Sonic Pi google group zu dieser Frage folgendes geschrieben:
If functionality is not documented then it is not supported. This doesn’t mean you shouldn’t use the functionality – just that it’s much less guaranteed to be around forever and if a release does break the functionality then it’s unlikely to be covered in the release notes. Unsupported functionality is kind of like the wild west of Sonic Pi – there’s lots of exciting aspects of Ruby you can use – but these may or may not work (Sonic Pi bends and breaks some of Ruby’s semantics to get its musical way) and they may stay or may change in future versions.
Die Übersetzung:
Wenn eine Funktionalität nicht dokumentiert ist, dann wird sie nicht unterstützt. Das heißt nicht, daß Du die Funktionalität nicht benutzen sollst – sondern daß es nicht garantiert ist, das sie in zukünftigen Versionen verfügbar sein wird, und daß derartige Veränderungen wahrscheinlich nicht in den Release Notes dargestellt werden. Nicht unterstützte Funktionalität ist der Wilde Westen von Sonic Pi – Es gibt viele spannende Facetten von Ruby, die Du benutzen kannst – sie können funktionieren oder auch nicht (Sonic Pi dehnt und bricht einige semantische Eigenschaften von Ruby, um in eine musikalische Richtung zu gehen) und sie können in zukünftigen Versionen bleiben oder sich verändern.