खोज…


वाक्य - विन्यास

  • मॉड्यूल मॉड्यूल; ...; समाप्त
  • मॉड्यूल का उपयोग कर
  • आयात मॉड्यूल

एक मॉड्यूल में कोड लपेटें

module कीवर्ड का उपयोग एक मॉड्यूल शुरू करने के लिए किया जा सकता है, जो कोड को व्यवस्थित करने और नाम रखने की अनुमति देता है। मॉड्यूल एक बाहरी इंटरफ़ेस को परिभाषित कर सकते हैं, जिसमें आमतौर पर export एड प्रतीक शामिल होते हैं। इस बाहरी इंटरफ़ेस का समर्थन करने के लिए, मॉड्यूल में आंतरिक कार्य नहीं हो सकते हैं और सार्वजनिक उपयोग के लिए इच्छित प्रकार नहीं हैं।

कुछ मॉड्यूल मुख्य रूप से एक प्रकार और संबंधित कार्यों को लपेटने के लिए मौजूद हैं। इस तरह के मॉड्यूल, सम्मेलन द्वारा, आमतौर पर प्रकार के नाम के बहुवचन रूप के साथ नामित किए जाते हैं। उदाहरण के लिए, यदि हमारे पास एक मॉड्यूल है जो Building प्रकार प्रदान करता है, तो हम ऐसे मॉड्यूल Buildings कह सकते हैं।

module Buildings

immutable Building
    name::String
    stories::Int
    height::Int  # in metres
end

name(b::Building) = b.name
stories(b::Building) = b.stories
height(b::Building) = b.height

function Base.show(io::IO, b::Building)
    Base.print(stories(b), "-story ", name(b), " with height ", height(b), "m")
end

export Building, name, stories, height

end

मॉड्यूल का using बयान के साथ किया जा सकता है:

julia> using Buildings

julia> Building("Burj Khalifa", 163, 830)
163-story Burj Khalifa with height 830m

julia> height(ans)
830

संकुल को व्यवस्थित करने के लिए मॉड्यूल का उपयोग करना

आमतौर पर, पैकेज में एक या अधिक मॉड्यूल होते हैं। जैसे-जैसे पैकेज बढ़ते हैं, पैकेज के मुख्य मॉड्यूल को छोटे मॉड्यूल में व्यवस्थित करना उपयोगी हो सकता है। एक सामान्य मुहावरा मुख्य मॉड्यूल के सबमॉड्यूल के रूप में उन मॉड्यूल को परिभाषित करना है:

module RootModule

module SubModule1

...

end

module SubModule2

...

end

end

प्रारंभ में, न तो रूट मॉड्यूल और न ही सबमॉड्यूल्स में एक दूसरे के निर्यात किए गए प्रतीकों तक पहुंच होती है। हालाँकि, इस समस्या को हल करने के लिए सापेक्ष आयात समर्थित हैं:

module RootModule

module SubModule1

const x = 10
export x

end

module SubModule2

# import submodule of parent module
using ..SubModule1
const y = 2x
export y

end

# import submodule of current module
using .SubModule1
using .SubModule2
const z = x + y

end

इस उदाहरण में, RootModule.z का मान 30



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow