Overview for functions

How to count files in current directory in Julia?

If you plan to count files in current directory in Julia, you can just run following code:

files_and_dirs = readdir(pwd())  # reading files and directory

function count()
    global num =0
    for i in files_and_dirs
        if isfile(i)
            num +=1
        end
    end
end

count()

println(num)

Read more

Written by Administrator on Thursday May 14, 2020

How to get file's extension in Julia

Working with files in every programming language is almost everyday routine. While writing scripts and programs in Julia, sometimes we need to choose files with certain extension. Julia offers very simple, fast and powerful tools for operation with strings.

In order to get (or print) file's extension in Julia, we don't even need to use regular expressions (which surely will took time to learn). Another question is, that not all files have extensions. In this case we have nothing to do, because in this case file's extension will be an empty string. Next question is files with complex extensions, for example .tar.gz. We are not going to solve those types, because I cannot imagine a situation, when there's need to change .tar.gz extension. That's why, let's focus in files, which have most common extensions (1,2,3,4 - characters), for example: .c , .sh or .zip.

In our example we will combine several string operations to get the final result.

Technique is very simple:

1) Let's take on a filename with extension like a string:

julia> filename = "the_most_interesting_movie_ever.avi"

2) We are looking for a last occurance of a dot (.) and find the position of this dot (meaning, on which position stands that dot in a row of characters a filename consist of):

julia> findlast(isequal('.'),filename)
32

No we know, that dot has the 32-nd position in a string "the_most_interesting_movie_ever.avi"

Read more

Written by Administrator on Thursday May 14, 2020

Functions with optional positional arguments in Julia (explanation with examples)

Sometimes we need a function, which requires several arguments. It's normal situation and this is the way functions work normally almost in all programming languages. Optional arguments will make your code easier and more powerful with decreasing a number of functions you create.

Example No.1 : Calculating engine consumption

For example, let's create a function, which returns fuel consumption depending on engine volume (cubic centimeters = cc).

function ShowConsumption(cc)
    return round(cc/170)          # rounding float-number result to the 2nd decimal
end

So, when we have to know a consumption of an engine of 1950cc, we will provide a parameter 1950:

julia> println(ShowConsumption(1950))
11.47

Great, and what we have to do in case we have to add new functionality: for example, Consumption in winter. What we will do? Sure, we will write a new function ShowConstumptionInWinter(cc), but there's a more clever way to solve a problem: we can use optional arguments for our function.

We will leave original function ShowConsumption and add 1 optional argument, which will be used only in case we want our function calculate something different. Let's take we know that for winter consumption is as twice as big as in summer and it means that function must double normal consumption. It's better to show in on example:

Read more

Written by Administrator on Monday May 11, 2020