Nim provides default language features by default.
If you want extra functionality or features, you can extend them by reusing modules.
Nim Modules import example
Modules are reusable functionalities that can be reused across all applications.
Let’s see how we can use Inbuilt Nim Modules.
strutils is a string module that contains procedures such as split, length, etc.
First You have to import the module into a code using the import keyword
import std/strutils or import strutils
Here is an example that uses the split procedure, which converts the string into multiple strings delimited by space. Result is sequence
Here is an example
import std/strutils let str = "one two three" var result=str.split(' ') echo result echo typeOf(result)
@["one", "two", "three"] seq[string]
How to create a Custom module and import in Nim code
Sometimes, We want to create a custom code that needs to reuse across multiple modules
Let’s create a simple module ie calculator.nim
- It contains two procedures
- asterisk (*) that tells that importing this file can use procedure name.
substractthat does not contains asterik(*), this method is not visible during import.
proc add*(values: varargs[int]): int = for value in items(values): total += value proc subtract(value1: int, value2: int): int = return value1 - value2
Now, Test the calculator.nim module First, import a custom module using the import
- add method can be used
- subtract throws an error as it is invisible
import calculator echo add(1,4,7,9) # 21 echo subtract(20, 4) # error
Suppose, if you have multiple files in a directory and subdirectory as given below
. ├── calculator │ ├── add.nim │ └── subtract.nim │ └── division.nim ├── shapes │ └── circle.nim ├── one.nim └── two.nim └── three.nim
You can import the files as given below
import one import two import three import shapes/circle import calculator / [add, subtract, division]