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.