Size: a a a

Язык программирования Julia / Julia programming language

2019 December 02

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
нет, в том же модуле вызываю
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
module A

using Combinatorics
include("helper.jl")

end
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
и вот в helper-e вызывается функция из Combinatorics, а он говорит, что якобы нет такого
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
у меня такое ощущение, что julia не видит изменения, вносимые в модуль: вроде бы когда его подключаешь, она что-то там перекомпилирует постоянно, но как-будто бы старый код с ошибкой берёт, где не было подключен ombinatorics
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
module B
   module A
     export fun1

     fun1(x) = x*x
   end

   import .A: fun1
   export fun2
       
   fun2(x) = fun1(x) - x
end

import .B: fun2
@show fun2(3)
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
Kirill Tsaregorodtsev
module A

using Combinatorics
include("helper.jl")

end
Я не перепроверял, но если бы это работало, то тогда не должно было бы работать
import helper
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
helper это не модуль внутри модуля, это просто функции, вынесенные в отдельный файл
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
helper выглядит как-то так:

function foo( ... )
...
x = powerset([0,1,2])
....
end
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
powerset — этоф ункция из Combinatorics, и он ругается, что её якобы нет
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
Да, я понял
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
хотя если руками делать всё, то ОК будет )
источник

ВФ

Виктор Федоров in Язык программирования Julia / Julia programming language
Но в том, что это не работает, есть своя логика. Все-таки хорошо, если файл это такая независимая единица, хотя и не модуль, как в питоне
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
В каком смысле? Т.е. просто нужно перенести using внутрь файла?
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
внутрь каждого файла, где я использую powerset.. это странно
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
module B
   fun3(y) = 1 / y

   module A
     import ..B
     export fun1

     fun1(x) = x * B.fun3(x)
   end

   import .A: fun1
   export fun2

   fun2(x) = fun1(x) - x
end

import .B: fun2
@show fun2(3)


Этот случай?
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
fun3() из module A
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
вроде у меня вообще модулей внутри модулей нет )
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
тогда не ясно. include - это просто подгрузка кода
источник

KT

Kirill Tsaregorodtsev in Язык программирования Julia / Julia programming language
module A

using Combinatorics
include("foo.jl")

end


В файле foo:
function foo()
powerset([0,1,2])
end
источник