9.7. Importowanie przestrzeni nazw

Problem

W kodzie aplikacji występują liczne odwołania do obiektów z innej przestrzeni nazw. Chcielibyśmy uniknąć każdorazowego, żmudnego kwalifikowania tych odwołań.

Rozwiązanie

Należy zastosować instrukcję include w celu skopiowania żądanych obiektów do bieżącej przestrzeni nazw. Można się będzie wówczas odwoływać do nich bez potrzeby kwalifikowania tych odwołań.

Zamiast na przykład

require 'rexml/document'

REXML::Document.new(xml)

będzie można pisać po prostu

require 'rexml/document'
include REXML

Document.new(xml)

Dyskusja

To jest ta sama instrukcja include, za pomocą której dołącza się moduły-domieszki do definicji klas. Identyczny jest również efekt jej wykonania: zawartość modułu skopiowana ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.