LINUX.ORG.RU

История изменений

Исправление romeo250501, (текущая версия) :

Как должен работать import?

Я считаю, что он должен давать возможность импортировать пространства имён с их реальными именами, отдельные функции с опциональным задаваемым именем. Что-то вроде:

import SomePackage
import SomeOtherPackage.SomeFunction
import SomeOtherPackage.SomeFunction as FooFunction

func Bar() {
   SomePackage.CallAlice()
   SomeOtherPackage.SomeFunction()
   SomeOtherPackage.CallBob() // ошибка
   FooFunction()
}
Вещи вроде using namespace blah; приводят к коллизиям идентификаторов и, следовательно, не нужны.

Ещё мне кажется нужным иметь вкладываемые пространства имён, которые выстраивались бы в иерархию с единым родителем в виде имени модуля.

Исходная версия Deleted, :

Как должен работать import?

Я считаю, что он должен давать возможность импортировать пространства имён с их реальными именами, отдельные функции с опциональным задаваемым именем. Что-то вроде:

import SomePackage
import SomeOtherPackage.SomeFunction
import SomeOtherPackage.SomeFunction as FooFunction

func Bar() {
   SomePackage.CallAlice()
   SomeOtherPackage.SomeFunction()
   SomeOtherPackage.CallBob() // ошибка
   FooFunction()
}
Вещи вроде using namespace blah; приводят к коллизиям идентификаторов и, следовательно, не нужны.