Channels in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 14:06:35

779 Views

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 More

Casting in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 14:05:17

430 Views

Casting or explicit conversion is only allowed in Rust, there’s no implicit conversion that the compiler of Rust does for us. It is known that, in many cases, implicit conversion can lead to data losses, which is not a good thing.Rules for converting between different types is pretty similar to C. In Rust though, we make use of as keyword when we want to convert from one type to another.Example:Consider the following example: Live Demo// Suppress all warnings from casts which overflow. #![allow(overflowing_literals)] fn main() {    let decimal = 65.43_f32;    // Error! No implicit conversion    // ... Read More

Arrays in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 13:58:35

666 Views

An array is a data structure that is used to contain objects of the same type T. These objects are stored in contiguous memory locations.In Rust, the arrays are created by making the use of [ ] brackets. It is important that the size of the arrays must be known at the compile time. Also, unlike other languages like Java and C++, the length of the array is part of its type in Rust.[T; length].This means that an array of signature say, [i32, 4], is different from an array with the signature [i32, 5].Arrays can be immutable in nature and there ... Read More

Struct Visibility in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 13:31:24

1K+ Views

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 More

Result Type in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 13:23:47

214 Views

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 More

Program Arguments in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 13:21:14

129 Views

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 More

HashSet in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 13:04:16

565 Views

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 More

File Operations in Rust Programming

Mukul Latiyan
Updated on 03-Apr-2021 12:50:15

334 Views

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 More

Verify Color of a Web Element in Selenium WebDriver

Debomita Bhattacharjee
Updated on 03-Apr-2021 11:03:34

25K+ Views

We can verify the color of a webelement in Selenium webdriver using the getCssValue method and then pass color as a parameter to it. This returnsthe color in rgba() format.Next, we have to use the class Color to convert the rgba() format to Hex. Let us obtain the color an element highlighted in the below image. The corresponding color for the element is available under the Styles tab in Chrome browser.The color of the element is also provided in the hex code #797979.SyntaxWebElement t = driver.findElement(By.tagName("h1")); String s = t.getCssValue("color"); String c = Color.fromString(s).asHex();Exampleimport org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import ... Read More

Open Browser in Incognito Mode Using Python Selenium WebDriver

Debomita Bhattacharjee
Updated on 03-Apr-2021 11:00:57

8K+ Views

We can open a browser window in incognito/private mode with Selenium webdriver in Python using the ChromeOptions class. We have to create an object of the ChromeOptions class.Then apply the method add_argument to that object and pass the parameter -- incognito has a parameter. Finally, this information has to be passed to the webdriver object.Syntaxc = webdriver.ChromeOptions() c.add_argument("--incognito")Examplefrom selenium import webdriver #object of ChromeOptions class c = webdriver.ChromeOptions() #incognito parameter passed c.add_argument("--incognito") #set chromodriver.exe path driver = webdriver.Chrome(executable_path="C:\chromedriver.exe", options=c) driver.implicitly_wait(0.5) #launch URL driver.get("https://www.tutorialspoint.com/tutor_connect/index.php")OutputRead More

Advertisements