История изменений
Исправление user_id_68054, (текущая версия) :
...то можно я спрошу кой-что?
допустим у меня есть 4 модуля:
«module_A», «module_B», «module_C», «module_D»
модуль «module_B» — использует в своём коде — обращения к функциям-и-классам модуля «module_A» .
модуль «module_C» — использует в своём коде — обращения к функциям-и-классам модуля «module_B» . но не использует (напрямую не обращается) к функции-и-классам модуля «module_A» .
модуль «module_D» — использует в своём коде — обращения к функциям-и-классом модулей «module_A», «module_C». но не использует (напрямую не обращается) к функции-и-классам модуля «module_B» .
вопрос:
как сделать (в Ruby) чтобы модуль «module_C» — импортировал бы ТОЛЬКО то что есть внутри модуля «module_B» , но НЕ импортировал бы ни чего больше? то есть чтобы он НЕ знал бы ни чего про модуль «module_A» .
и как сделать чтобы модуль «module_D» — не знал бы ни чего про модуль «module_B» ? а импортировал бы только: «module_A» и «module_C» ?
пример на языке Python
(для того чтобы было бы понятно что я хочу от Ruby!)
# модуль "blahblah.module_A"
def func_A1(x):
print(2**x)
def func_A2(x):
print(4**x)
# модуль "blahblah.module_B"
from . import module_A
def func_B1(x):
module_A.func_A1(x)
module_A.func_A1(x+1)
def func_B2(x):
module_A.func_A2(x)
module_A.func_A2(x+1)
# модуль "blahblah.module_C"
from . import module_B
def func_C1(x):
module_B.func_B1(x)
module_B.func_B1(x+2)
def func_C2(x):
module_B.func_B2(x)
module_B.func_B2(x+2)
# модуль "blahblah.module_D"
from . import module_A
from . import module_C
def func_D1(x):
module_A.func_A1(x)
module_C.func_C1(x+1)
def func_D2(x):
module_A.func_A2(x)
module_C.func_C2(x+1)
надеюсь суть ясна! :)
Исправление user_id_68054, :
так как в этой теме есть много специалистов по Ruby...
Исходная версия user_id_68054, :
...то можно я спрошу кой-что?
допустим у меня есть 4 модуля:
«module_A», «module_B», «module_C», «module_D»
модуль «module_B» — использует в своём коде — обращения к функциям-и-классам модуля «module_A» .
модуль «module_C» — использует в своём коде — обращения к функциям-и-классам модуля «module_B» . но не использует (напрямую не обращается) к функции-и-классам модуля «module_A» .
модуль «module_D» — использует в своём коде — обращения к функциям-и-классом модулей «module_A», «module_C». но не использует (напрямую не обращается) к функции-и-классам модуля «module_B» .
вопрос:
как сделать (в Ruby) чтобы модуль «module_C» — импортировал бы ТОЛЬКО то что есть внутри модуля «module_B» , но НЕ импортировал бы ни чего больше? то есть чтобы он НЕ знал бы ни чего про модуль «module_A» .
и как сделать чтобы модуль «module_D» — не знал бы ни чего про модуль «module_B» ? а импортировал бы только: «module_A» и «module_C» ?
пример на языке Python
(для того чтобы было бы понятно что я хочу от Ruby!)
# модуль "module_A"
def func_A1(x):
print(2**x)
def func_A2(x):
print(4**x)
# модуль "module_B"
from . import module_A
def func_B1(x):
module_A.func_A1(x)
module_A.func_A1(x+1)
def func_B2(x):
module_A.func_A2(x)
module_A.func_A2(x+1)
# модуль "module_C"
from . import module_B
def func_C1(x):
module_B.func_B1(x)
module_B.func_B1(x+2)
def func_C2(x):
module_B.func_B2(x)
module_B.func_B2(x+2)
# модуль "module_D"
from . import module_A
from . import module_C
def func_D1(x):
module_A.func_A1(x)
module_C.func_C1(x+1)
def func_D2(x):
module_A.func_A2(x)
module_C.func_C2(x+1)
надеюсь суть ясна! :)