Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Articles by Mukul Latiyan
Page 36 of 37
Super and Self Keywords in Rust Programming
Whenever we want to remove the tedious long importing paths of functions that we want to invoke, either from the same function or from a different module, we can make use of the super and self keywords provided in Rust.These keywords help in removing the ambiguity when we want to access the items and also prevent unnecessary hardcoding of paths.ExampleConsider a simple example shown below:fn function() { println!("called `function()`"); } mod cool { pub fn function() { println!("called `cool::function()`"); } } mod my { fn function() { println!("called `my::function()`"); ...
Read MoreChannels in Rust Programming
Channels are a medium that allow communication to take place between two or more threads. Rust provides asynchronous channels that enable communication between threads.Channels in Rust allow a unidirectional flow of communication between two endpoints. These two endpoints are Sender and Receiver.ExampleConsider the example shown below −use std::sync::mpsc::{Sender, Receiver}; use std::sync::mpsc; use std::thread; static NTHREADS: i32 = 3; fn main() { let (tx, rx): (Sender, Receiver) = mpsc::channel(); let mut children = Vec::new(); for id in 0..NTHREADS { let thread_tx = tx.clone(); let child = thread::spawn(move || { ...
Read MoreStruct Visibility in Rust Programming
Structs in Rust contains an extra level of visibility. These can be modified by the developers as per his/her convenience.In a normal scenario, the visibility of the struct in Rust is private and it can be made public by making use of the pub modifier.It should be noted that this case of visibility only makes sense when we are trying to access the struct fields from outside the module, from where it is defined.When we are hiding the fields of the struct, we are simply trying to encapsulate the data.ExampleConsider the example shown below −mod my { // A ...
Read MoreResult Type in Rust Programming
There are two types of errors that occur in Rust, either a recoverable error or an unrecoverable error. We handle the unrecoverable errors with the help of panic!macro and the Result type along with others help in handling the recoverable errors.The Result type is a better version of the Option type which only describes the possible error instead of the possible absence.SignatureThe signature of Result Type is Result < T, E>and it can have only two outcomes.These are: Ok(T): An element T was found.Err(E): An error was found with an element E.Rust also provides different methods that we can associate with ...
Read MoreProgram arguments in Rust Programming
Taking care of arguments passed at the runtime is one of the key features of any programming language.In Rust, we access these arguments with the help of std::env::args, which returns an iterator that gives us a string for each passed argument.ExampleConsider the example shown below −use std::env; fn main() { let args: Vec = env::args().collect(); // The first argument is the path that was used to call the program. println!("My current directory path is {}.", args[0]); println!("I got {:?} arguments: {:?}.", args.len() - 1, &args[1..]); }We can pass arguments like this −./args 1 2 3 4 ...
Read MoreHashSet in Rust Programming
Rust also provides us with a HashSet data structure that is mainly used when we want to make sure that no duplicate values are present in our data structure.If we try to insert a new value into a HashSet that is already present in it, then the previous value gets overwritten by the new value that we insertedBesides the key features, a HashSet is also used to do the following operations −union − Extract all the unique elements in both sets.difference −G ets all the elements that are present in the first set, but not in the second.intersection − Gets ...
Read MoreFile Operations in Rust Programming
File operations normally include I/O operations. Rust provides us with different methods to handle all these operations.OpenRust provides an open static method that we can use to open a file in read-only mode.ExampleConsider the code shown below:use std::fs::File; use std::io::prelude::*; use std::path::Path; fn main() { // Create a path to the desired file let path = Path::new("out.txt"); let display = path.display(); let mut file = match File::open(&path) { Err(why) => panic!("unable to open {}: {}", display, why), Ok(file) => file, }; let mut s = String::new(); match ...
Read MoreRust programming language – Getting Started
The first part of getting hands-on experience with Rust is installing Rust. In order to install Rust, we need a Rust installer.Rustup is a version management tool and also an installer that helps in installing Rust in your local machine.If you’re running Linux, macOS, or another Unix-like OS, then we simply need to run the following command in the terminal −curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | shThe above command will install Rust on your local machine.If you are on Windows, then you can download the .exe file from this link rustup-init.exeKeeping Rust UpdatedThough Rust is updated frequently, but you ...
Read MoreWhy is Rust Programming language loved so much?
Being voted as the most loved language for four consecutive years, Rust has come a long way.Originally designed as a low-level language, best suited for embedded, systems and critical performance code, it has gained a lot of traction and not stopping yet.Rust also has found its way in web developments and also provides a great opportunity for game developers.So, why is Rust so much loved? Let’s explore some of the reasons why it is so popular and loved.Fearless ConcurrencyConcurrency and parallelism have become more significant in today’s scenario. The number of cores is increasing in computers to support concurrency, but ...
Read MoreDownsides of Rust Programming Language
Every programming language has some downsides attached to it, it’s not all roses when it comes to Rust as well. Some of the noticeable downsides of Rust programming language are highlighted here −Compile TimeYes, compile time. Rust is fast, no doubt. But when it comes to compiling code, then it’s a bit slower as compared to its peer languages. The reason for its slow compile time is that its “unit of compilation” is not an individual file, it’s instead a whole package (known as a crate). Crates in Rust can include multiple modules, thus they can be large units of ...
Read More