<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nirmala+Venkat</id>
		<title>Script | Spoken-Tutorial - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nirmala+Venkat"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Special:Contributions/Nirmala_Venkat"/>
		<updated>2026-04-08T19:43:00Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Solar-Tracking-System/English</id>
		<title>ElectroBlocks/C2/Solar-Tracking-System/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Solar-Tracking-System/English"/>
				<updated>2025-11-18T12:51:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1:'''  '''Title Slide''' || Welcome to the '''Spoken Tutorial''' on '''Solar Tracking System '''using ''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1:'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Solar Tracking System '''using '''Electroblocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2:'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about,&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Solar Tracking System and&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#001d35;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3:'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using the following setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 4:'''&lt;br /&gt;
&lt;br /&gt;
'''About Solar tracking system'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Solar tracking system'''&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#001d35;&amp;quot;&amp;gt; is used &amp;lt;/span&amp;gt;to increase the energy output of solar panels&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is done by automatically adjusting their orientation to follow the sun's path&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:5'''&lt;br /&gt;
&lt;br /&gt;
'''Code file'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Solar Tracking System.zip'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
https://electroblocks.org/&lt;br /&gt;
|| Let us open the '''ElectroBlocks''' website in the Chrome browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Let us open a new blank project.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Click on the Projects icon located on the toolbar.&lt;br /&gt;
&lt;br /&gt;
Select the Choose File option.&lt;br /&gt;
&lt;br /&gt;
Locate and open the solar tracking system.xml file.&lt;br /&gt;
&lt;br /&gt;
A pop-up window will appear on the screen.Click OK.&lt;br /&gt;
&lt;br /&gt;
|| Extract the zip file downloaded in the download folder.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we will see how to load an existing saved project and work on it.&lt;br /&gt;
&lt;br /&gt;
On the toolbar Click on the '''Projects''' icon.&lt;br /&gt;
&lt;br /&gt;
Select the '''Choose File option.'''&lt;br /&gt;
&lt;br /&gt;
And open the Solar Tracking System.xml file in the extracted zip folder.&lt;br /&gt;
&lt;br /&gt;
A pop-up window will appear on the screen.Click '''OK'''.&lt;br /&gt;
&lt;br /&gt;
The''' Solar Tracking System''' project is loaded with the required blocks for this experiment.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This is the complete setup of the '''Solar Tracking System.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to simulation window and zoom the circuit&lt;br /&gt;
&lt;br /&gt;
Point according to the narration&lt;br /&gt;
|| The circuit is displayed in the simulation window.&lt;br /&gt;
&lt;br /&gt;
Here, two Light sensors are used to detect the light. &lt;br /&gt;
&lt;br /&gt;
The servo motor rotates according to the movement of the sun.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Now, let’s explore the code and the corresponding blocks to understand how it works.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the code icon&lt;br /&gt;
|| Click on the '''Code''' icon.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;#include &amp;lt;Servo.h&amp;gt; // Includes the Servo library for controlling servo motors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| '''Servo.h''' is the the Servo header library, which provides built-in functions to control servo motors&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Servo servo_2; // Creates a servo object&lt;br /&gt;
&lt;br /&gt;
|| Creates a Servo object named servo_2, which is used to control a connected servo motor.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| double spoint = 0;&lt;br /&gt;
&lt;br /&gt;
|| '''Spoint''' is the variable which stores the current angle of the servo motor.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| pinMode(A5, INPUT); &lt;br /&gt;
&lt;br /&gt;
pinMode(A4, INPUT);&lt;br /&gt;
&lt;br /&gt;
|| In the working area, two analog setup blocks are displayed.&lt;br /&gt;
&lt;br /&gt;
These blocks are used to configure the analog sensors.&lt;br /&gt;
&lt;br /&gt;
The sensors are connected to analog pins A5 and A4.&lt;br /&gt;
&lt;br /&gt;
In the code window , within the '''void setup() '''function, pins A5 and A4 are defined as input.&lt;br /&gt;
&lt;br /&gt;
In the setup blocks, sensor readings of 512 and 1024 are shown.&lt;br /&gt;
&lt;br /&gt;
These values represent the analog readings from the photo sensors.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| servo_2.attach(2);&lt;br /&gt;
&lt;br /&gt;
|| The servo motor is connected to pin 2 in the block so that this code is generated.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the working area, the servo motor is linked to a variable called '''spoint'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| if (((double)analogRead(A5) &amp;lt; (double)analogRead(A4))) {&lt;br /&gt;
&lt;br /&gt;
spoint = (spoint + 9);&lt;br /&gt;
delay(1000); /&lt;br /&gt;
|| Let us see the condition in the &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;First IF-THEN Block.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It checks whether the analog reading from A5 is less than the reading from A4.&lt;br /&gt;
&lt;br /&gt;
If true, the servo motor arm is rotated by 9 degrees to move towards the light.&lt;br /&gt;
&lt;br /&gt;
A short delay is added to slow down the movement, making the rotation smooth and realistic.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| if (((double)analogRead(A5) &amp;gt; (double)analogRead(A4))) {&lt;br /&gt;
&lt;br /&gt;
|| Now in the second IF-THEN Block, it compares the analog values at A5 and A4,&lt;br /&gt;
&lt;br /&gt;
If the light is more on the A5 the servo rotates to the left. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| spoint = (spoint - 9);&lt;br /&gt;
&lt;br /&gt;
|| If the light on A4 is more when compared to A5 then the motor rotates to the right side. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let’s check the output using the simulator.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on '''Home''' icon on the tool bar.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Play''' button &lt;br /&gt;
|| Click on '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
Now click on the '''Play''' button to start the simulation.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to simulation window&lt;br /&gt;
|| We can see the servo motor rotates from 0 to 126 degrees when sensor1 value is less than sensor 2.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
&lt;br /&gt;
Click on the first setup sensor reading number box and change it to 1024.&lt;br /&gt;
&lt;br /&gt;
Similarly Click on the second setup sensor reading number box and change it to 512 &lt;br /&gt;
&lt;br /&gt;
Again click on the '''Play''' button to start the simulation&lt;br /&gt;
&lt;br /&gt;
Point to simulation window&lt;br /&gt;
&lt;br /&gt;
Only narration&lt;br /&gt;
|| Let us check the output of the project if sensor1 value is greater than sensor2 value.&lt;br /&gt;
&lt;br /&gt;
Click on the '''first setup sensor''' reading number box and change it to 1024.&lt;br /&gt;
&lt;br /&gt;
Then Click on the '''second setup sensor''' reading number box and change it to 512.&lt;br /&gt;
&lt;br /&gt;
Next change the '''spoint''' value to 126.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Play''' button to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Now we can see the servo motor rotates from 126 to 0 degrees.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we will learn about# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Solar Tracking System&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of experiment using simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial.Let us summarise.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment''':&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Add an LED to pin number 4 in the existing project instead of servo motor&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;If the value from Sensor 1 &amp;gt; Sensor 2, the LED should turn ON&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;If the value from Sensor 1&amp;lt; Sensor 2, the LED should turn OFF&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 12:'''&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.905cm;margin-right:-1.905cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Counter-with-Push-Button/English</id>
		<title>ElectroBlocks/C2/Counter-with-Push-Button/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Counter-with-Push-Button/English"/>
				<updated>2025-11-07T07:41:23Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' '''Title Slide''' || Welcome to the Spoken Tutorial on '''Counter with''' '''Push Button '''using t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Counter with''' '''Push Button '''using the '''ElectroBlocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2:'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Counter function in Electroblocks&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System requirement'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux OS version 22.04 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Google Chrome browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;A working internet connection to use Electroblocks&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To record this tutorial, I am using the following setup.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Show Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
Point to the push button in the circuit diagram&lt;br /&gt;
|| This is the circuit diagram of '''Counter with Push button.'''&lt;br /&gt;
We will see how it works.&lt;br /&gt;
&lt;br /&gt;
When the button is pressed, the count is shown on the LCD display.&lt;br /&gt;
&lt;br /&gt;
Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide: Required blocks &lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Button&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logic&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;LCD screen&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Code &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Variable&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Math&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Time&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Text&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We need the various blocks from the below sections for this experiment.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the '''Electroblocks''' website in the Chrome browser.&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the New''' File/Blank''' File option.&lt;br /&gt;
|| Click on the '''New File/Blank''' '''File '''option.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the code section from the left side menu.&lt;br /&gt;
|| Click on the''' Code''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''Setup (runs once)''' '''block''' in the working area.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration only &lt;br /&gt;
&lt;br /&gt;
Click on the variable and select the '''Create Number Variable''' option.&lt;br /&gt;
&lt;br /&gt;
Point to pop up window.&lt;br /&gt;
&lt;br /&gt;
Write name Counter and press enter.&lt;br /&gt;
&lt;br /&gt;
Point to counter block in '''Setup (runs once)'''.&lt;br /&gt;
&lt;br /&gt;
Change the number to 0.&lt;br /&gt;
&lt;br /&gt;
Point to counter &lt;br /&gt;
&lt;br /&gt;
|| We will create a '''variable''' to work as a counter.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Variable''' section and select the '''Create Number Variable''' option.&lt;br /&gt;
&lt;br /&gt;
In the pop-up window, give the name as “'''Counter'''”and click the '''ok''' button.&lt;br /&gt;
&lt;br /&gt;
Notice a variable block named as '''Counter''' is created in the '''Setup.'''&lt;br /&gt;
&lt;br /&gt;
Change the counter value to 0.&lt;br /&gt;
&lt;br /&gt;
This counter counts the number of times the push button is pressed.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the Logic section from the left side menu.&lt;br /&gt;
|| Click on the '''Logic section''' and drag '''If then block''' and place it in the '''Loop runs '''block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Add button setup block &lt;br /&gt;
|| Click on the '''Sensors''' section and click the '''Button''' option.&lt;br /&gt;
&lt;br /&gt;
Drag the '''Button setup''' block in the working area.&lt;br /&gt;
&lt;br /&gt;
Again click on the '''Button '''section.&lt;br /&gt;
&lt;br /&gt;
Drag and place the''' Button is pressed''' block in the '''If section '''of the '''If then block.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the variables option and select the number count equal to 10 block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the then section of the if then block.&lt;br /&gt;
&lt;br /&gt;
|| Click on the '''variables '''and select the '''number counter equal to 10 '''block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then '''section of the '''if then''' block.&lt;br /&gt;
&lt;br /&gt;
Here the default value of the '''variable''' is 10.&lt;br /&gt;
&lt;br /&gt;
Delete this number block. &lt;br /&gt;
&lt;br /&gt;
Later we will add an '''arithmetic''' block here.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the Math option.&lt;br /&gt;
&lt;br /&gt;
Drag and place the third block in the number count block.&lt;br /&gt;
&lt;br /&gt;
Delete the first number block from the arithmetic math block. &lt;br /&gt;
|| Click on the '''Math''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and place the third block which is the '''arithmetic''' block in the '''number counter''' block.&lt;br /&gt;
&lt;br /&gt;
Delete the first number block from the arithmetic block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Variables''' option.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''count''' block in the first section of the '''arithmetic math''' block.&lt;br /&gt;
&lt;br /&gt;
Point to block&lt;br /&gt;
|| Click on the '''Variables''' section..&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''counter''' block in the first section of the '''arithmetic '''block.&lt;br /&gt;
&lt;br /&gt;
The overall setup of this block is designed to increment the variable value by 1.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only Narration.&lt;br /&gt;
&lt;br /&gt;
Click on '''Add-ons.'''&lt;br /&gt;
&lt;br /&gt;
A new list appears.&lt;br /&gt;
&lt;br /&gt;
|| Let us add an '''LCD screen '''to the circuit.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and then click on the '''LCD screen'''.&lt;br /&gt;
&lt;br /&gt;
Select the''' Setup LCD block '''and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
This '''block''' configures the '''LCD''' Screen in the circuit.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''If then '''block.&lt;br /&gt;
&lt;br /&gt;
Point to if then block.&lt;br /&gt;
|| Click on the '''LCD screen''' option.&lt;br /&gt;
&lt;br /&gt;
Drag and place the '''Print Delay Clear''' block below the '''if then''' block.&lt;br /&gt;
&lt;br /&gt;
This block allows you to display words or numbers on any row of the '''LCD'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Delete both the '''Print on row 1''' and '''Print on row 2''' text box.&lt;br /&gt;
&lt;br /&gt;
|| Delete both the '''Print on row 1''' and '''Print on row 2''' text box.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Text''' section.&lt;br /&gt;
&lt;br /&gt;
Select''' Create text with''' block and place this block in the''' Print on row 1.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| click on the '''Text''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and place the '''Text''' block in the first section of '''Create text with''' block.&lt;br /&gt;
&lt;br /&gt;
Click the text block and type “'''Counter ='''”&lt;br /&gt;
|| Again click on the '''Text''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and place the '''Text''' block in the first section of '''Create text with''' block.&lt;br /&gt;
&lt;br /&gt;
Click the text block and type “'''Counter ='''”&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Variables''' and select the '''Counter''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the second section of '''Create text with '''block'''.'''&lt;br /&gt;
&lt;br /&gt;
Change the delay to 1 second.&lt;br /&gt;
|| Click on the '''Variables '''section and select the '''Counter''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the second section of '''Create text with '''block'''.'''&lt;br /&gt;
&lt;br /&gt;
Change the delay to 1 second.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Sensors''' menu and click on the '''Button'''.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''button is released block '''below the '''Print Delay Clear''' block.&lt;br /&gt;
|| Click on the '''Sensors''' section and click on the '''Button'''.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''button is released block '''below the '''Print Delay Clear''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''wait for 0.2 second''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Button is released '''block.&lt;br /&gt;
&lt;br /&gt;
Change the time in the '''wait block''' to 1 second.&lt;br /&gt;
|| Click on the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''wait for 0.2 second''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Button is released '''block.&lt;br /&gt;
&lt;br /&gt;
Change the time in the '''wait block''' to 1 second.&lt;br /&gt;
&lt;br /&gt;
We have created all the blocks required for this experiment.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the code icon&lt;br /&gt;
&lt;br /&gt;
Click on the home icon and press play button&lt;br /&gt;
|| Now, we will see the '''arduino''' '''code''' generated by '''electroblocks'''.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Code''' '''icon'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Simulation Output&lt;br /&gt;
&lt;br /&gt;
Pointing the counter and in the simulation window&lt;br /&gt;
|| Notice a counter on the top right corner of the simulation window.&lt;br /&gt;
&lt;br /&gt;
For the first button press, the counter is increased to 1.&lt;br /&gt;
&lt;br /&gt;
The LCD screen shows the counter = 1.&lt;br /&gt;
&lt;br /&gt;
When the push button is pressed the second time, the counter is increased to 2.&lt;br /&gt;
&lt;br /&gt;
For each button press we can see an increment in the counter on the LCD screen.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| In this tutorial, we learnt about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Counter function in Electroblocks&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Open a new blank project&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Add an '''LED''' and connect it to '''pin 9'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When the push button is pressed the first time, the LED Turn ON&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When the push button is pressed the second time, the LED Turn OFF&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7:'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Automatic-Gate-Opener/English</id>
		<title>ElectroBlocks/C2/Automatic-Gate-Opener/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Automatic-Gate-Opener/English"/>
				<updated>2025-11-04T12:34:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' '''Title Slide''' || Welcome to the '''Spoken Tutorial''' on '''Automatic Gate Opener '''using '''E...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Automatic Gate Opener '''using '''Electroblocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2:'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn how to,&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks to create an '''Automatic Gate opener'''&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3:'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using the following setup.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:4'''&lt;br /&gt;
&lt;br /&gt;
Required section&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logic&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Motion&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Servo&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Math&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Time&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| We will need the following sections for this experiment.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Show '''&lt;br /&gt;
&lt;br /&gt;
'''Circuit Diagram 1 .png'''&lt;br /&gt;
&lt;br /&gt;
'''Circuit Diagram 2 .png'''&lt;br /&gt;
|| This is the circuit diagram of '''Automatic Gate opener.'''&lt;br /&gt;
&lt;br /&gt;
Here we will observe that the gate opens whenever an object is detected by the sensor.&lt;br /&gt;
&lt;br /&gt;
Otherwise, the gate remains closed.Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the''' ElectroBlocks''' website using '''Chrome''' browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us open a new blank project.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Click on the '''Logic''' section&lt;br /&gt;
&lt;br /&gt;
Point to '''if-then-else''' block&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Drag the '''if then else''' block and place it inside the '''loop''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Sensors''' section&lt;br /&gt;
|| Now we will add an '''Ultrasonic sensor block.'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Sensors''' section and click on the '''Motion'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Select the '''Setup Ultrasonic Sensor '''block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Point to the '''Setup Ultrasonic Sensor '''block.&lt;br /&gt;
|| Select the '''Setup Ultrasonic Sensor '''block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to '''trigger''' pin and '''echo''' pin&lt;br /&gt;
&lt;br /&gt;
|| Here, the '''trigger''' pin and '''echo''' pin are connected to '''pin 11 and pin 10 '''of Arduino.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Point towards the number box&lt;br /&gt;
&lt;br /&gt;
Click on the number box and change it to 5.&lt;br /&gt;
&lt;br /&gt;
Point to simulation window&lt;br /&gt;
&lt;br /&gt;
Point to the red rectangular box in front of the sensor.&lt;br /&gt;
|| Let us change the distance to 5 by clicking on the '''Distance in Centimetres''' box.&lt;br /&gt;
&lt;br /&gt;
In the simulation window, the '''5''' cm distance is displayed on the ultrasonic sensor.&lt;br /&gt;
&lt;br /&gt;
Here the object is shown as a red rectangular box in front of the sensor.&lt;br /&gt;
&lt;br /&gt;
Check the '''Copy All''' checkbox.&lt;br /&gt;
&lt;br /&gt;
This will set the distance of the object from the ultrasonic sensor to 5 cm for all the 3 loops.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''logic''' option&lt;br /&gt;
&lt;br /&gt;
Select the''' (=) block''' and drag in the working area.&lt;br /&gt;
&lt;br /&gt;
Place the block in the '''if '''section of''' if then else block.'''&lt;br /&gt;
|| We need a '''comparison''' block to check the distance between the sensor and the object.&lt;br /&gt;
&lt;br /&gt;
Click on the '''logic''' option.&lt;br /&gt;
&lt;br /&gt;
The third block represents the comparison block.&lt;br /&gt;
&lt;br /&gt;
Drag the''' comparison''' '''block''' and place it in the''' if '''section''' '''of''' if then else block.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Motion''',select distance (cm) block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''first section '''of the '''logic''' block.&lt;br /&gt;
&lt;br /&gt;
Point to dropdown option&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option and select '''less than''' '''equal to''' option from the list.&lt;br /&gt;
|| Let us add a '''distance '''block'''.'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Motion'''.&lt;br /&gt;
&lt;br /&gt;
Drag the '''distance(cm)''' block and place this block in the '''first section '''of the '''comparison''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option and select '''less than equal to '''option from the list.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| click on the '''math''' option available on the left side on the screen.&lt;br /&gt;
&lt;br /&gt;
|| Next, click on the '''Math''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and place the first '''number''' '''block,''' next to the '''less than equal to '''option.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''number''' block and change to 10.&lt;br /&gt;
|| Click on the '''number''' block and change the value to 10.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' option&lt;br /&gt;
&lt;br /&gt;
Click on the '''Servo''' option.&lt;br /&gt;
&lt;br /&gt;
|| Let us add a''' Servo motor block.'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons section''' and Click on the '''Servo'''.&lt;br /&gt;
&lt;br /&gt;
Select the '''Rotate servo''' block and place this block in the '''then''' section of the if then else block.&lt;br /&gt;
&lt;br /&gt;
Notice the servo motor is connected to pin 2 of the arduino.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to rotate servo number block &lt;br /&gt;
&lt;br /&gt;
Only narration&lt;br /&gt;
&lt;br /&gt;
Only narration&lt;br /&gt;
|| In the '''Rotate Servo''' block, the default angle is '''50'''.&lt;br /&gt;
&lt;br /&gt;
It indicates that the servo motor rotates to '''50 degrees '''by default.&lt;br /&gt;
&lt;br /&gt;
Click on the number block and change the value to 90 degrees.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the''' Time''' section.&lt;br /&gt;
&lt;br /&gt;
Then drag and drop the''' Wait for 0.2 seconds''' block and place it below the '''Rotate servo''' block.&lt;br /&gt;
&lt;br /&gt;
change the time to''' 0.02''' seconds.&lt;br /&gt;
|| The '''wait '''block is required to ensure the servo motor rotates smoothly.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Then drag the '''Wait for 0.2 seconds''' block and place it below the '''Rotate servo''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time to''' 2''' seconds.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Right click on the rotate servo block.&lt;br /&gt;
&lt;br /&gt;
Select the duplicate option.&lt;br /&gt;
&lt;br /&gt;
Place this duplicate block in the '''else''' section of the '''if then else''' block.&lt;br /&gt;
|| We need the servo motor to stop rotating when no motion is detected.&lt;br /&gt;
&lt;br /&gt;
Right click on the rotate servo block.&lt;br /&gt;
&lt;br /&gt;
Select the '''duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this duplicate block in the '''else''' section of the '''if then else''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''number''' block and change to 0.&lt;br /&gt;
|| Click on the '''number''' block and change the value to 0 degrees.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Right click on the wait for 2 seconds block.&lt;br /&gt;
&lt;br /&gt;
Select the duplicate option&lt;br /&gt;
|| Let us add a wait block.&lt;br /&gt;
&lt;br /&gt;
Duplicate the''' wait for 2 seconds block''' and place it below the '''Rotate servo''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the number block and change the number to 1.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us check the desired result using the simulator.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on '''Home''' icon on the tool bar and click on the '''Play''' button&lt;br /&gt;
|| Click on the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to simulation window&lt;br /&gt;
|| The visual representation of the simulation shows that : &lt;br /&gt;
&lt;br /&gt;
The '''servo motor rotates 90 degrees '''when the '''motion '''is detected within a 10 cm range.&lt;br /&gt;
&lt;br /&gt;
We will create a situation, where the motion is detected above 10 cm range .&lt;br /&gt;
&lt;br /&gt;
In the '''Setup Ultrasonic Sensor ''', change the distance to 15 by clicking on the '''Distance in Centimetres''' box.&lt;br /&gt;
&lt;br /&gt;
Now, play the simulation again to see the output.&lt;br /&gt;
&lt;br /&gt;
Notice that after increasing the distance, the servo motor rotates back to '''0 degrees'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks to create Automatic Gate opener&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of experiment using simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment''':&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Open a new blank project&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Add an '''LED''' and connect it to '''pin 9'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When motion is detected within a '''20 cm range''', the '''servo motor rotates to 90°''' and the '''LED turns ON'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When no motion is detected, the '''servo motor returns to 0°''' and the '''LED turns OFF'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide :'''&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.905cm;margin-right:-1.905cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Smiley-Generator/English</id>
		<title>ElectroBlocks/C2/Smiley-Generator/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Smiley-Generator/English"/>
				<updated>2025-11-04T12:08:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' '''Title Slide''' || Welcome to the '''Spoken Tutorial''' on '''Smiley Generator''' using '''Electr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Smiley Generator''' using '''Electroblocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2:'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn how to,&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks to create a '''Smiley generator'''&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3:'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using the following setup.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:5'''&lt;br /&gt;
&lt;br /&gt;
Required section&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;LED Matrix&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Time&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| We will need the following sections for this experiment.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show '''Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
|| This is the circuit diagram for the '''smiley generator''' experiment.&lt;br /&gt;
&lt;br /&gt;
Here, we will create a smiley face using an LED matrix display.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us open the '''ElectroBlocks''' website in the Chrome browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us open a new blank project.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Add-ons'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; section &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led Matrix'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; option.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Select the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led Matrix setup'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; and drag this block in the working area. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Point towards &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Data'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; pin&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Point towards &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''CLK'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; pin and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''CS'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; pin&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Add-ons '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;section&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;and click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led Matrix'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; option.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Select the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led Matrix setup block '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;and drag this block to the working area. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;By default, the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Data'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; pin of the Led Matrix is connected to the pin 10 of the arduino. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''CLK'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; Pin is connected to pin 12 and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''CS'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; pin is connected to pin 11 of the arduino.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led Matrix'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; option.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Select the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' Led Matrix Draw'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; block and &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Place this&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' Led matrix draw '''&amp;lt;/span&amp;gt;block inside the loop block.&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Again Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led Matrix'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Select the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' Led Matrix Draw'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''block'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; and place this&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;block inside the loop block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Point to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''Led matrix draw'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; block&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Point to checkboxes.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Point to checkblocks&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Select the smiley face checkboxes.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Point to simulation window&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;This is an 8x8 &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''LED'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''matrix'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''LED matrix draw'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; block, you will find &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''64'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt; checkboxes.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Each checkbox controls an individual LED.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Click on the checkboxes in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;'''LED matrix '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;block to turn ON the LEDs.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Select the checkboxes as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;In the simulation window, you will see a smiley face displayed on the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' LED matrix.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Click on the Time&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;section.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''Wait block for 0.2 second '''in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Led Matrix Draw''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time to '''1''' seconds in the block.&lt;br /&gt;
|| Now we have to make sure that the LEDs remain ON for a certain time.&lt;br /&gt;
&lt;br /&gt;
For this, we must add a wait block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''Wait for 0.2 second block '''and place it below the '''Led Matrix Draw''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time to '''1''' second in the block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Right click on the Led Matrix Draw block and select the duplicate option.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Place this block below the &amp;lt;/span&amp;gt;'''wait for 1 second '''&amp;lt;span style=&amp;quot;color:#212121;&amp;quot;&amp;gt;block.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| We will turn OFF some LEDs to create an interactive smiley.&lt;br /&gt;
&lt;br /&gt;
Right click on the '''Led Matrix Draw''' block and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
This action creates an identical block in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''wait for 1 second''' block.&lt;br /&gt;
&lt;br /&gt;
Let us uncheck a few of the checkboxes to create an interactive smiley.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#212121;&amp;quot;&amp;gt;Only narration.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right click on the''' wait for 1 second''' block and select the duplicate option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Led Matrix Draw''' block.&lt;br /&gt;
|| Now we have to make sure that the '''LEDs''' remain turned OFF for a certain time.&lt;br /&gt;
&lt;br /&gt;
For this, we will add a '''wait''' block.&lt;br /&gt;
&lt;br /&gt;
Right click on the''' wait for 1 second''' block and select the '''duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Led Matrix Draw''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us see the output using the simulator.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on '''Home''' icon on the tool bar and click on the '''Play''' button&lt;br /&gt;
|| Click on the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to simulation window.&lt;br /&gt;
&lt;br /&gt;
Only narration.&lt;br /&gt;
&lt;br /&gt;
|| A smiley face pattern is displayed on the LED matrix.&lt;br /&gt;
&lt;br /&gt;
The first two LEDs toggling their state after every 1 second.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about,&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks to create a '''Smiley generator'''&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To check the output of experiment using simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment''':&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Open a new blank project&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Display the numbers 1 to 5 sequentially on the LED matrix&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Set a delay of 1 second between each number&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide : Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.905cm;margin-right:-1.905cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust_Programming_Language</id>
		<title>Rust Programming Language</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust_Programming_Language"/>
				<updated>2025-10-29T07:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rust is an advanced systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust is designed to be safe and concurrent. It achieves memory safety without using garbage collection and is known for its rich type system and ownership model which guarantee memory-safety and thread-safety.&lt;br /&gt;
&lt;br /&gt;
Rust combines the speed and control of languages like C and C++ with strong safety guarantees that prevent many common programming errors (like null pointer dereferencing and data races).&lt;br /&gt;
It combines low-level control over hardware with high-level abstractions, enabling developers to write reliable and efficient software.&lt;br /&gt;
&lt;br /&gt;
The contributor who helped to create the outline, content, code is '''Vishal Pokuri''' from VIT Vellore. The Spoken Tutorial Effort for '''Rust Programming language''' is being contributed by '''Ms. Nirmala Venkat, Ms.Ketki Bhamble''' and '''Ms. Madhuri Ganapathi''' from Spoken Tutorial project, IIT Bombay.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==Basic Level==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Installation of Rust on Linux'''&lt;br /&gt;
&lt;br /&gt;
*About Rust&lt;br /&gt;
*Installation of Rust on Linux&lt;br /&gt;
*Check for Curl installation&lt;br /&gt;
*Install modules and packages like cargo, rustfmt, clippy&lt;br /&gt;
*Set up an Integrated Development Environment(IDE)&lt;br /&gt;
*Install Visual Studio Code&lt;br /&gt;
*Install rust-analyzer&lt;br /&gt;
*Verify the version after installation is done&lt;br /&gt;
*About Rust compiler and Tool Chain Manager&lt;br /&gt;
*Write and compile a Hello world program &lt;br /&gt;
&lt;br /&gt;
'''2. Hello World using Cargo'''&lt;br /&gt;
*About Cargo&lt;br /&gt;
*About Cargo commands&lt;br /&gt;
*Create a Rust project using Visual Studio code&lt;br /&gt;
*Add a program in main.rs&lt;br /&gt;
*Explore Rust program structure&lt;br /&gt;
*Save the program&lt;br /&gt;
*Build the Rust program&lt;br /&gt;
*Run the Rust program&lt;br /&gt;
*Check the output&lt;br /&gt;
*Edit the program and re-run the program&lt;br /&gt;
&lt;br /&gt;
'''3.Variables and Mutability'''&lt;br /&gt;
*Variables in Rust&lt;br /&gt;
*Mutabilty in Rust&lt;br /&gt;
*Mutable variable with example&lt;br /&gt;
*Shadowing of variables&lt;br /&gt;
*Scope of variables&lt;br /&gt;
&lt;br /&gt;
'''4.Data Types'''&lt;br /&gt;
*Data types in Rust&lt;br /&gt;
*Scalar Data type with example&lt;br /&gt;
*Constants&lt;br /&gt;
*Type Inference in Rust&lt;br /&gt;
&lt;br /&gt;
'''5.Control Flow'''&lt;br /&gt;
*Control Flow Statement &lt;br /&gt;
*if &lt;br /&gt;
*else if &lt;br /&gt;
*else &lt;br /&gt;
*loop &lt;br /&gt;
*for loop&lt;br /&gt;
*while loop&lt;br /&gt;
&lt;br /&gt;
'''6.Functions'''&lt;br /&gt;
*Functions in Rust&lt;br /&gt;
*Declare a Function&lt;br /&gt;
*Passing parameters to a Function&lt;br /&gt;
*Function with return value&lt;br /&gt;
*Examples&lt;br /&gt;
&lt;br /&gt;
'''7.Enums'''&lt;br /&gt;
*Enums in Rust&lt;br /&gt;
*Variants in Rust&lt;br /&gt;
*Explain with example&lt;br /&gt;
&lt;br /&gt;
'''8.Pattern Matching'''&lt;br /&gt;
*About Pattern matching&lt;br /&gt;
*Match statement with example&lt;br /&gt;
*About Option and Result enum types&lt;br /&gt;
*Matching Option Type with example&lt;br /&gt;
*Result enum type with example&lt;br /&gt;
&lt;br /&gt;
'''9.Pattern Types'''&lt;br /&gt;
*Pattern types in rust&lt;br /&gt;
*Irrefutable pattern&lt;br /&gt;
*refutable pattern&lt;br /&gt;
*if let expression with example&lt;br /&gt;
*while let expression with example&lt;br /&gt;
&lt;br /&gt;
'''10.Arrays'''&lt;br /&gt;
*Arrays in Rust&lt;br /&gt;
*Array Index&lt;br /&gt;
*Mutable Array&lt;br /&gt;
*Different methods used in arrays&lt;br /&gt;
&lt;br /&gt;
'''11. Tuples and Struct'''&lt;br /&gt;
*About Tuples&lt;br /&gt;
*Example for Tuples&lt;br /&gt;
*Destructuring Tuples&lt;br /&gt;
*About Rust struct or structures&lt;br /&gt;
*Example for Struct&lt;br /&gt;
&lt;br /&gt;
'''12.Strings'''&lt;br /&gt;
*About String data type&lt;br /&gt;
*String Literal&lt;br /&gt;
*String Slice&lt;br /&gt;
*String Objects&lt;br /&gt;
*common methods used with string objects&lt;br /&gt;
&lt;br /&gt;
'''13.Ownership'''&lt;br /&gt;
*About Ownership&lt;br /&gt;
*Ownership Rules&lt;br /&gt;
*Drop and Copy traits&lt;br /&gt;
*Example for Drop trait&lt;br /&gt;
*Example for Copy trait&lt;br /&gt;
&lt;br /&gt;
'''14. Borrowing'''&lt;br /&gt;
*About Borrowing&lt;br /&gt;
*Rules of Borrowing&lt;br /&gt;
*Example for rules of Borrowing&lt;br /&gt;
*Dangling reference with example&lt;br /&gt;
&lt;br /&gt;
'''15. Collections'''&lt;br /&gt;
*Collections&lt;br /&gt;
*Types of Collections&lt;br /&gt;
*Vectors with example&lt;br /&gt;
*HashMap with example&lt;br /&gt;
*HashSet with example&lt;br /&gt;
&lt;br /&gt;
'''16. Iterators and Closures'''&lt;br /&gt;
*About Iterators&lt;br /&gt;
*Types of Iterators&lt;br /&gt;
*Basic and Range Iterators &lt;br /&gt;
*Iterator Adapters&lt;br /&gt;
*Iterator Consumers/Collectors&lt;br /&gt;
*Closures&lt;br /&gt;
*Example for Iterators and Closures&lt;br /&gt;
&lt;br /&gt;
'''17. Error Handling'''&lt;br /&gt;
*Error Handling&lt;br /&gt;
*Typed of errors&lt;br /&gt;
*Recoverable Errors &lt;br /&gt;
*Unrecoverable Errors &lt;br /&gt;
*Error Propagation Operator&lt;br /&gt;
*Examples for the above errors&lt;br /&gt;
&lt;br /&gt;
'''18. File Handling'''&lt;br /&gt;
&lt;br /&gt;
*File operations&lt;br /&gt;
*Input and Output operations&lt;br /&gt;
*Creating a file&lt;br /&gt;
*Writing to a file&lt;br /&gt;
*Reading from a file&lt;br /&gt;
*Appending, Reading and Writing using Openoptions&lt;br /&gt;
*Deleting a file&lt;br /&gt;
&lt;br /&gt;
'''19. Path Struct'''&lt;br /&gt;
*About Path Struct&lt;br /&gt;
*Common methods of Path struct&lt;br /&gt;
*Example to check if a file exists&lt;br /&gt;
*Example to check if it is a file or directory&lt;br /&gt;
*Example to read from the keyboard and write to the terminal&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Path-Struct/English</id>
		<title>Rust-Programming-Language/C2/Path-Struct/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Path-Struct/English"/>
				<updated>2025-10-29T07:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1'''  '''Title Slide''' || Welcome to the Spoken Tutorial on '''Path Struct in Rust.''' |- style=&amp;quot;border...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Path Struct in Rust.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Path Struct and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Common methods of Path struct&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| To record this tutorial I’m using the following setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide''' '''4'''&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
||&lt;br /&gt;
* The following code file is required to practise this tutorial.&lt;br /&gt;
* This file is provided in the Code Files link of this tutorial page.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Path Struct'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Path''' is a struct in Rust’s standard library &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;(std::path::Path)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is used to represent file system’s path.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A '''Path''' does not actually open or read files. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open '''Visual''' '''code editor'''&lt;br /&gt;
|| Let us open the '''Visual Studio code editor'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt; cd''' '''Desktop'''/'''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new pathstruct'''&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;I have created the '''pathstruct''' project as explained earlier.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We will see how Rust interacts with files and folders using the '''Path struct'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the''' main.rs '''file.&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| use std::path::Path;&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let path = Path::new(&amp;quot;hello.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Exists: {}&amp;quot;, path.exists());&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Is file: {}&amp;quot;, path.is_file());&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Is directory: {}&amp;quot;, path.is_dir());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| This code checks if a file exists and also whether it’s a file or directory.&lt;br /&gt;
&lt;br /&gt;
We import the '''Path struct''' from the std'''::path''' module.&lt;br /&gt;
&lt;br /&gt;
'''Path''' is used to inspect and manipulate file or directory paths in a safe way.&lt;br /&gt;
&lt;br /&gt;
It''' '''creates a Path instance pointing to &amp;quot;'''hello'''.'''txt'''&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
At this stage, no file is created or opened.&lt;br /&gt;
&lt;br /&gt;
'''path.exists() '''method checks if '''hello.txt '''actually exists in the file system or not.&lt;br /&gt;
&lt;br /&gt;
'''path.is_file() '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;method&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;checks if the path points to a file.&lt;br /&gt;
&lt;br /&gt;
'''path.is_dir() '''method checks if the path points to a '''directory'''.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Type cargo run to run the program&lt;br /&gt;
|| Run the program.&lt;br /&gt;
&lt;br /&gt;
Here the '''hello.txt '''file''' '''does not exist and so it returns false.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Create hello.txt in the path struct folder.&lt;br /&gt;
&lt;br /&gt;
Type cargo run at the terminal prompt.&lt;br /&gt;
|| Let us create the file '''hello.txt''' in the working folder.&lt;br /&gt;
&lt;br /&gt;
Run the same code and check the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see more methods that are used with '''Path struct.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Select all &amp;gt;&amp;gt; press Delete key&lt;br /&gt;
|| Clear the window and copy and paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| use std::path::Path;&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let path = Path::new(&amp;quot;/home/nirmala/docs/file.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Full path: {:?}&amp;quot;, path);&lt;br /&gt;
&lt;br /&gt;
// Get the file name (last component)&lt;br /&gt;
&lt;br /&gt;
if let Some(filename) = path.file_name() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;File name: {}&amp;quot;, filename.to_string_lossy());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Get the parent directory&lt;br /&gt;
&lt;br /&gt;
if let Some(parent) = path.parent() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Parent directory: {:?}&amp;quot;, parent);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Get the extension&lt;br /&gt;
&lt;br /&gt;
if let Some(ext) = path.extension() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Extension: {}&amp;quot;, ext.to_string_lossy());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Path::new'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; m&amp;lt;/span&amp;gt;ethod creates a '''Path''' object pointing to the absolute path.&lt;br /&gt;
&lt;br /&gt;
'''path.file_name() '''method''' '''gets the last component of the path.&lt;br /&gt;
&lt;br /&gt;
Here it is the filename '''file.txt'''&lt;br /&gt;
&lt;br /&gt;
'''to_string_lossy()''' function converts it into a human-readable String.&lt;br /&gt;
&lt;br /&gt;
'''path.parent()''' gets the '''parent directory''' of the path.&lt;br /&gt;
&lt;br /&gt;
'''path.extension()''' gets the '''file extension. '''&lt;br /&gt;
&lt;br /&gt;
Here the extension is '''.txt'''&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the terminal, type '''cargo run '''&lt;br /&gt;
|| In the terminal, type '''cargo run '''to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will know how to get the input from the user.&lt;br /&gt;
&lt;br /&gt;
These operations deal with reading from the '''keyboard''' and writing to the '''terminal.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Clear the code window and replace the code from the code file as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| use std::io;&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let mut input = String::new();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Enter your name:&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
io::stdin().read_line(&amp;amp;mut input).expect(&amp;quot;Failed to read line&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Hello, {}&amp;quot;, input.trim());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| We use''' std::io() '''to bring the core utility functions '''stdin() '''and''' stdout().'''&lt;br /&gt;
&lt;br /&gt;
'''String::new()''' method creates a mutable empty string to store user input.&lt;br /&gt;
&lt;br /&gt;
Next it prompts the user to type his/her name.&lt;br /&gt;
&lt;br /&gt;
'''read_line '''waits for the user to type and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
'''.expect()''' is used here for simple error handling.&lt;br /&gt;
&lt;br /&gt;
'''.trim() '''method removes the unwanted characters from the end of input and format it.&lt;br /&gt;
&lt;br /&gt;
At last we print '''Hello''' and the input that user enters on the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the terminal, type '''cargo run '''&lt;br /&gt;
&lt;br /&gt;
Enter the name&lt;br /&gt;
&lt;br /&gt;
Type name &amp;gt;&amp;gt; Press Enter.&lt;br /&gt;
|| In the terminal, type '''cargo run.'''&lt;br /&gt;
&lt;br /&gt;
It prompts to enter the name.&lt;br /&gt;
&lt;br /&gt;
Type your name and press Enter.&lt;br /&gt;
&lt;br /&gt;
It prints Hello and the entered name as output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see how to handle errors in file operations&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| use std::fs::File;&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
match File::open(&amp;quot;non_existent.txt&amp;quot;) {&lt;br /&gt;
&lt;br /&gt;
Ok(_) =&amp;gt; println!(&amp;quot;File opened successfully.&amp;quot;),&lt;br /&gt;
&lt;br /&gt;
Err(e) =&amp;gt; println!(&amp;quot;Error opening file: {}&amp;quot;, e),&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Copy and paste the code from the code file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''File::open '''method returns a '''Result enum''' type.&lt;br /&gt;
&lt;br /&gt;
If the file exists and opens successfully it returns the '''OK '''type.&lt;br /&gt;
&lt;br /&gt;
If the file doesn’t exist (or another error happens), '''e''' holds the error details.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Type cargo run&lt;br /&gt;
&lt;br /&gt;
Point to the error message.&lt;br /&gt;
&lt;br /&gt;
|| Run the program and check the output.&lt;br /&gt;
&lt;br /&gt;
We can see an error message '''“Error opening file: No such file or directory”.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an Assignment&lt;br /&gt;
&lt;br /&gt;
Write a Rust program that:&lt;br /&gt;
&lt;br /&gt;
1. Asks the user to enter a file path &lt;br /&gt;
&lt;br /&gt;
2.Prints the following information using methods from std::path::Path module.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/File-Handling/English</id>
		<title>Rust-Programming-Language/C2/File-Handling/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/File-Handling/English"/>
				<updated>2025-10-28T08:56:45Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''File Handling '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;File operations&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Input and &amp;lt;/span&amp;gt;Output&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; operations&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To record this tutorial I’m using the following setup.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 6'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''File I/O – Standard Library'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#001d35;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''File Input/Output'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; operations are done &amp;lt;/span&amp;gt;using &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;the below modules from the Standard Library &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''std::fs '''is a module for file handling &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''std::io '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is a module for reading and writing &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Open the '''Visual Studio code editor.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| I have created the '''filehandling''' project as explained earlier.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::fs::File;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::io::{self, Write};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() -&amp;gt; io::Result&amp;lt;()&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut file = File::create(&amp;quot;output.txt&amp;quot;)?; // Create or overwrites file&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file.write_all(b&amp;quot;Hello, Rust file writing!&amp;quot;)?; // Write bytes to file&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Data written to file&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(())&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We import the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''File'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; struct from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''std:fs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; module.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''File'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is used t&amp;lt;/span&amp;gt;o &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;creat&amp;lt;/span&amp;gt;e&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;open&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;work&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; with files.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Then we import the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''io'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; module and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''write'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the trait.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''self'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; means &amp;lt;/span&amp;gt;i&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;mporting&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' std::io '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;itself as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' io.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the main function,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''File::create()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method creates a new file called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''output.txt.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If it already exists, it truncates it before writing. otherwise creates a new file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Write_all '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;writes all the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' bytes'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; from the given byte string into the file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' b'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; before the string literal means that we are writing &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''raw bytes'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, not a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;String&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This is often safer and faster for low-level writing.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;?&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; operator is used to handle any write failure.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;After successful writing, we &amp;lt;/span&amp;gt;print&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; a success&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ful &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;message.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;e &amp;lt;/span&amp;gt;return the '''Ok&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method variant to signal that everything worked without errors.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open and show the file&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let us open the '''output.txt.''' We can see the data written to the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Next let us see how to read from a file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Clear the code window and r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;eplace the code from the code file as shown&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::fs::File;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::io::{self, Read};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() -&amp;gt; io::Result&amp;lt;()&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut file = File::open(&amp;quot;output.txt&amp;quot;)?; // Open file in read-only mode&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut contents = String::new();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file.read_to_string(&amp;amp;mut contents)?; // Read file into a string&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;File content: {}&amp;quot;, contents);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(())&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We import t&amp;lt;/span&amp;gt;he &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Read trait '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''io'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; module.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the main function, we return &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;io::Result&amp;lt;()&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;File::open()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method opens&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' output.txt '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''read-only'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; mode.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;? propagates an error if the file doesn’t exist or can’t be opened.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We create an empty String to hold the file’s contents.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next we create a mutable String named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''contents'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It stores the &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;contents that are read&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Finally, we print the file contents to the console.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the content of the file&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' output.txt '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is displayed.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Next we will see how to append a file.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Clear the code window and r&amp;lt;/span&amp;gt;eplace the code from the code file as shown&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::fs::OpenOptions;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::io::Write;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
f&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;n main() -&amp;gt; std::io::Result&amp;lt;()&amp;gt; {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut file = OpenOptions::new()&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.append(true)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.open(&amp;quot;output.txt&amp;quot;)?;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file.write_all(b&amp;quot;\nThis is an appended line.&amp;quot;)?;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;println!(&amp;quot;Data added to the file&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(())&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''OpenOptions'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is used for more advanced operations&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Operations &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;like appending, reading and writing can be done simultaneously.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''.append(true)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;method '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;e&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;nables the append mode&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;New data will be &amp;lt;/span&amp;gt;appended&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; at the end of the file instead of overwriting&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It o&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;pens &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''output.txt '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;with the ? which handles errors (&amp;lt;/span&amp;gt;For example&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;., if the file doesn’t exist).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''file.write_all '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;writes a newline followed by the text &amp;quot;This is an appended line.&amp;quot; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Run the program to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We see the message “'''Data added to the file”'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let us open the '''output.txt. '''&lt;br /&gt;
&lt;br /&gt;
We can see the data is added at the end of the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Next we see how to delete a file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Clear the code window and r&amp;lt;/span&amp;gt;eplace the code from the code file as shown&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::fs;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() -&amp;gt; std::io::Result&amp;lt;()&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fs::remove_file(&amp;quot;output.txt&amp;quot;)?;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;File deleted&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(())&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''remove_file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method deletes the file named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''output.txt '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;from the current directory.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the file doesn’t exist or if you don’t have permission, &amp;lt;/span&amp;gt;it&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; returns an error.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the file is deleted successfully, “File Deleted” message is printed.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Run the program to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We see the message “&amp;lt;/span&amp;gt;File Deleted”&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Write a Rust program to do the following steps in order:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a file named '''notes.txt.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write the below text into the file:&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Reopen the same file in append mode and add one more line:&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Read back the entire content of the file and print them on the console.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 9 Thank You'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Error-Handling/English</id>
		<title>Rust-Programming-Language/C2/Error-Handling/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Error-Handling/English"/>
				<updated>2025-10-27T06:41:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Error handling'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Recoverable Errors &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Unrecoverable Errors and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Error Propagation Operator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial I’m using the following setup.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 6'''&lt;br /&gt;
&lt;br /&gt;
'''Types of Errors'''&lt;br /&gt;
|| In Rust, errors are categorized as&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1. &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Recoverable Errors'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; →These are anticipated failures, handled with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Option&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Result&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; enums&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;2. &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Unrecoverable Errors'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; → These are unexpected &amp;lt;/span&amp;gt;critical&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; failures. &amp;lt;/span&amp;gt;They lead&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; to a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''panic!'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and program termination.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new errorhandling'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; errorhandling'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new errorhandling '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn divide(x: f64, y: f64) -&amp;gt; Result&amp;lt;f64, String&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;if y == 0.0 {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Err(String::from(&amp;quot;Cannot divide by zero&amp;quot;))&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} else {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(x / y)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main(){&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;match divide(10.0, 0.0) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(result) =&amp;gt; println!(&amp;quot;Result: {}&amp;quot;, result),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Err(e) =&amp;gt; println!(&amp;quot;Error: {}&amp;quot;, e),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This program explains about recoverable errors.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Function &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;divide&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; takes two integers as input parameters and returns the division result.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;What happens if we try to divide an integer by zero without handling it?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In Rust, it will cause the program to crash at runtime.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ividing by zero is a known and anticipated failure.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; we&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;handle it using the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Result&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; enum: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the denominator &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;y&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, function returns an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Err&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; containing an error message.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the denominator is valid, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;function returns the successful division wrapped in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Ok&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| In the terminal, type '''cargo run '''to see the output.&lt;br /&gt;
&lt;br /&gt;
It displays the output as “Cannot divide by zero” as the denominator y is 0 in the code.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| Next let us see an example of an unexpected error.&lt;br /&gt;
&lt;br /&gt;
Clear the code and Copy paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let v = vec![1, 2, 3];&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, v[99]); // panics: index out of bounds&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;panic!(&amp;quot;Something went terribly wrong!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;What happens when the program encounters an unexpected error?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;That is something we do not anticipate and cannot recover from.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We have declared a vector v with three elements.&lt;br /&gt;
&lt;br /&gt;
In this program, it tries to access the element at index 99, which does '''not exist'''.&lt;br /&gt;
&lt;br /&gt;
After a panic, the program '''stops execution''' — it does not continue to the next line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Let us run the program&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the term&amp;lt;/span&amp;gt;inal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
The program prints an error message and the current thread stops.&lt;br /&gt;
&lt;br /&gt;
The panic statement is not executed because the program already panics at the previous line.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| Next we will see about the Error Propagation operator.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Error Propagation Operator (?)&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Error Propagation Operator (?} automatically returns an error if a function call fails.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This operator can be only used in functions where it returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''option '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''result enum.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Switch&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; back to the visual code editor.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the code file&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;use std::fs::File;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;use std::io::{self, Read};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn read_file(filename: &amp;amp;str) -&amp;gt; Result&amp;lt;String, io::Error&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut file = File::open(filename)?;// This will return early if File::open fails&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut contents = String::new();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;file.read_to_string(&amp;amp;mut contents)?;// This will return early if read_to_string fails&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Ok(contents)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;match read_file(&amp;quot;hello.txt&amp;quot;) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Ok(content) =&amp;gt; println!(&amp;quot;File content: {}&amp;quot;, content),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Err(e) =&amp;gt; println!(&amp;quot;Error reading file: {}&amp;quot;, e),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example we try to read the file contents and return the '''Result enum.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''read_file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; takes a filename which is of type string slice.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It returns a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Result enum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Ok'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''type'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; String and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Err'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''type'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; input output error.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;At the line &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''File::open(filename)?,'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; it attempts to open the file, with the ? operator&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If successful, it continues execution with the file handle.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If it fail&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, it returns the error from the function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Next we initialised a mutable variable called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''contents'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It is of the type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''String'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; object.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''read_to_string'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; reads all the bytes of the file till &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;e&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;nd and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;appends them to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''contents.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The ? Operator returns the error &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;immediately if&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; it fails.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If everything succeeds, it &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;returns&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; the file content.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In main function, we use &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''match'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; arms to handle &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;results&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; returned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''read_file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can see the error message “Error reading file”.&lt;br /&gt;
&lt;br /&gt;
This shows that the file '''hello.txt''' is not available.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, do the following&lt;br /&gt;
&lt;br /&gt;
1. Create '''hello.txt''' file and with the text “Welcome to Rust tutorials”&lt;br /&gt;
&lt;br /&gt;
2. Save the file in the errorhandling folder&lt;br /&gt;
&lt;br /&gt;
3. Run the &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Error Propagation Operator program &amp;lt;/span&amp;gt;and check&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the output&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 9 Thank You'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Temperature-Indicator/English</id>
		<title>ElectroBlocks/C2/Temperature-Indicator/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Temperature-Indicator/English"/>
				<updated>2025-10-16T09:27:04Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- |- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot; || '''Slide 1:'''  '''Title Slide''' || Welcome to the '''Spoke...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 1:'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Temperature indicator''' using '''Electroblocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2:'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
&lt;br /&gt;
|| In this tutorial, we will learn how to&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks for '''Temperature Indicator'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3:'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux OS version 22.04 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Google Chrome browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A working internet connection to use Electroblocks&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial, I am using the following setup.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the''' ElectroBlocks''' website using '''Chrome''' browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Let us open a new blank project.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:5'''&lt;br /&gt;
&lt;br /&gt;
Required section&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logic&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Thermister&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;LED &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Math&amp;lt;/div&amp;gt;&lt;br /&gt;
|| We will need the following sections for this experiment.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Switch back to the '''Electroblocks''' interface.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Show Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
|| This is the circuit diagram of the '''Temperature indicator '''experiment.&lt;br /&gt;
&lt;br /&gt;
Here, when the temperature value is greater than the defined value the LED is turned ON.&lt;br /&gt;
&lt;br /&gt;
Otherwise the LED is turned OFF.&lt;br /&gt;
&lt;br /&gt;
Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Keep the loop block in the middle area (compulsory)'''&lt;br /&gt;
&lt;br /&gt;
Click on the Logic section&lt;br /&gt;
&lt;br /&gt;
Point to if-then-else block&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Drag the '''if then else''' block and place it inside the '''loop''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
Click on the '''Logic''' option available on the left hand side of the screen.&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
The third block represents the '''Comparison block.'''&lt;br /&gt;
&lt;br /&gt;
Select and place this block in the '''if''' section of the '''if then else''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Sensors''' section&lt;br /&gt;
|| Now we will add a thermistor''' '''block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Sensors''' section and Click on the '''Thermistor'''.&lt;br /&gt;
&lt;br /&gt;
Select the '''Thermistor Setup '''block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
By default, this button will be connected to '''analog pin A0''' of Arduino.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Point to '''Temp in C 23 value.&lt;br /&gt;
&lt;br /&gt;
Click on the number box and change the value to 25.&lt;br /&gt;
|| We can change the temperature value to 25 by clicking on the '''temperature in °C '''box.&lt;br /&gt;
&lt;br /&gt;
Note that, in the simulation window, the temperature changes to 25 '''°'''C as well.&lt;br /&gt;
Check the '''Copy All''' checkbox.&lt;br /&gt;
&lt;br /&gt;
This setting will set the temperature of the thermistor to 25 degrees for all the 3 loops.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration &lt;br /&gt;
&lt;br /&gt;
Click on the '''Thermistor''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block in the 1st section of the comparison block.&lt;br /&gt;
|| Let's add a thermistor block to read the temperature.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Thermistor'''.&lt;br /&gt;
&lt;br /&gt;
Select the '''Read temperature block''' and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Now place this block in the first section of the Comparison block.&lt;br /&gt;
&lt;br /&gt;
Let us set the condition for the temperature reading for the thermistor.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the dropdown option in the comparison block&lt;br /&gt;
&lt;br /&gt;
select the condition to''' greater than equal to'''&lt;br /&gt;
|| Click on the dropdown option in the comparison block.&lt;br /&gt;
&lt;br /&gt;
Select the condition to''' greater than equal to '''as shown'''.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Math''' option&lt;br /&gt;
&lt;br /&gt;
Select the '''number''' block.&lt;br /&gt;
|| Click on the '''Math '''section'''.'''&lt;br /&gt;
&lt;br /&gt;
'''Select''' the '''number''' block and place this block in the 2nd section of the Comparison block.&lt;br /&gt;
&lt;br /&gt;
Click on the number block and change the number to 20.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the LED option. &lt;br /&gt;
&lt;br /&gt;
Select and drag the Turn on LED.&lt;br /&gt;
|| Click on the '''Add-ons''' section and click on '''LED'''. &lt;br /&gt;
&lt;br /&gt;
Select the '''Turn a LED ON''' block and place this block in the '''then '''section of the '''If then else '''block.&lt;br /&gt;
&lt;br /&gt;
The LED is connected to '''pin 2''' of the Arduino.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on Time section&lt;br /&gt;
&lt;br /&gt;
Select the wait for 0.2 second block&lt;br /&gt;
&lt;br /&gt;
Drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below '''Turn a LED ON'''&lt;br /&gt;
&lt;br /&gt;
Change the time to 1 second&lt;br /&gt;
&lt;br /&gt;
Point to if then block&lt;br /&gt;
|| Click on the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''wait for 0.2 second''' block and place this block below the '''Turn a LED ON''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time in the '''wait block''' to 2 seconds.&lt;br /&gt;
&lt;br /&gt;
We have set the blocks for '''LED''' to turn ON for 2 seconds if the temperature value is above 20 '''°C'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration.&lt;br /&gt;
&lt;br /&gt;
Right click on the '''Turn on LED''' block and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Drag and place this new block inside the '''else''' section of '''If then else''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown arrow and select '''OFF'''&lt;br /&gt;
|| Right click on the '''Turn a LED on '''block and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Drag and place this block inside the '''else''' section of '''If then else''' block.&lt;br /&gt;
&lt;br /&gt;
To change the state of the LED, click on the dropdown arrow and select '''OFF'''.&lt;br /&gt;
&lt;br /&gt;
Now we have completed the block setup for this experiment.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let’s check the working of the temperature indicator using the simulator.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on '''Home''' page and click on the '''Play''' button &lt;br /&gt;
|| Click on the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to simulation window&lt;br /&gt;
&lt;br /&gt;
In the thermistor setup block, change the temperature value to 15 &amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
play the simulation button to see the output.&lt;br /&gt;
&lt;br /&gt;
|| We can see the LED turns ON for 2 seconds.&lt;br /&gt;
&lt;br /&gt;
This is because the thermistor temperature is 25°C which is greater than the comparison block .&lt;br /&gt;
&lt;br /&gt;
We will create a situation, where the thermistor reading is below 20&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
In the thermistor setup block, change the temperature value to 15 &amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C.&lt;br /&gt;
&lt;br /&gt;
Now, play the simulation again to see the output.&lt;br /&gt;
&lt;br /&gt;
Notice, the LED remains OFF.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 6:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt how to:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks for '''Temperature Indicator'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 7:&lt;br /&gt;
&lt;br /&gt;
'''Assignment''':&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Connect a LED to pin 5&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Turn ON the LED when the temperature is below 25°C&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide '''8''':'''&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.905cm;margin-right:-1.905cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Iterators-and-Closures/English</id>
		<title>Rust-Programming-Language/C2/Iterators-and-Closures/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Iterators-and-Closures/English"/>
				<updated>2025-10-13T13:14:30Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Iterators and Closures''' in''' Rust.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Iterators &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Types of Iterators&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Closures&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
To record this tutorial I’m using&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial I’m using the following setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide''' '''5'''&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;iterators.rs&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Iterators'''&lt;br /&gt;
&lt;br /&gt;
|| Let us get started.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Iterators are powerful and flexible tools.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;They process sequences of data one at a time.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;They help to iterate over a collection of values such as arrays, vectors, maps, etc.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7:'''&lt;br /&gt;
&lt;br /&gt;
'''Type of Iterators'''&lt;br /&gt;
&lt;br /&gt;
|| In Rust we can categorize iterators into 3 main types.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Basic &amp;amp; Range Iterators '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Iterator Adapters '''and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Iterator Consumers/Collectors'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Let’s learn about '''Basic and Range Iterators''' with an example.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open '''Visual''' '''code editor'''&lt;br /&gt;
|| Open the '''Visual Studio code editor.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&lt;br /&gt;
&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| I have created the '''filehandling''' project as explained earlier.&lt;br /&gt;
|| Let us go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new iterators '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the '''main.rs''' file.&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![1, 2, 3];&lt;br /&gt;
&lt;br /&gt;
let mut iter = numbers.iter();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // Some(1)&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // Some(2)&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // Some(3)&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // None&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| We declared a '''vector''' called '''numbers''' with values 1, 2, 3.&lt;br /&gt;
&lt;br /&gt;
'''numbers.iter() method '''creates an iterator named '''iter.'''&lt;br /&gt;
&lt;br /&gt;
'''iterator '''can safely access vector elements without looping.&lt;br /&gt;
&lt;br /&gt;
'''next()''' method is used to traverse through the items. &lt;br /&gt;
&lt;br /&gt;
It returns a value '''None''' when it reaches the end of the collection.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let’s see an example of commonly used '''iterator adapters'''.&lt;br /&gt;
&lt;br /&gt;
Clear the previous code. &lt;br /&gt;
&lt;br /&gt;
Copy paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![1, 2, 3, 4, 5];&lt;br /&gt;
&lt;br /&gt;
let squared: Vec&amp;lt;i32&amp;gt; = numbers&lt;br /&gt;
&lt;br /&gt;
.iter()&lt;br /&gt;
&lt;br /&gt;
.map(|x| x * x)&lt;br /&gt;
&lt;br /&gt;
.collect();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, squared); // [1, 4, 9, 16, 25]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| We declare a vector of integers.&lt;br /&gt;
&lt;br /&gt;
We then create an '''iterator''' using the '''.iter() '''method.&lt;br /&gt;
&lt;br /&gt;
It gives us '''immutable references''' to each element in the vector.&lt;br /&gt;
&lt;br /&gt;
'''.map() '''method uses a '''closure''' that takes each element x and returns &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;its &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;square&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This doesn't immediately compute the &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;square&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It builds a new iterator pipeline that knows how to compute them when needed. &lt;br /&gt;
&lt;br /&gt;
Finally, '''.collect() '''consumes the iterator and gathers the squares into a&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;new &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
The result is printed as a &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;new vector [1&amp;lt;/span&amp;gt;, 4, 9, 16, 25]&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let’s see an example of '''Iterator Consumers '''or''' Collectors.''' &lt;br /&gt;
&lt;br /&gt;
These methods consume an iterator and return results like '''Vec, bool''', or a single value.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Copy and paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![1, 2, 3, 4, 5, 6];&lt;br /&gt;
&lt;br /&gt;
let evens: Vec&amp;lt;_&amp;gt; = numbers&lt;br /&gt;
&lt;br /&gt;
.iter()&lt;br /&gt;
&lt;br /&gt;
.filter(|x| *x % 2 == 0)&lt;br /&gt;
&lt;br /&gt;
.collect();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, evens); // [2, 4, 6]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|| This program shows how to use '''iterators '''with filters to show only even numbers from a vector.&lt;br /&gt;
&lt;br /&gt;
Filter() method which takes a closure that returns true or false for each element.&lt;br /&gt;
&lt;br /&gt;
The condition that we’ve used here will check if the number is even or not.&lt;br /&gt;
&lt;br /&gt;
Only the elements that satisfy this condition are passed forward in the iterator pipeline.&lt;br /&gt;
&lt;br /&gt;
Lastly, .collect() method gathers the remaining elements into new '''vector evens'''.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run '''and see the output.&lt;br /&gt;
&lt;br /&gt;
The result is [2, 4, 6], it contains only even numbers from the original list.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Closures'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In Rust, closure is a function without names&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It can capture variables from its environment, which is a key difference from regular functions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| Next we will see about '''Closures'''.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Closure is a function without names&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It can capture variables from its environment, which is a key difference from regular functions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us understand '''closures''' with an example.&lt;br /&gt;
&lt;br /&gt;
Switch back to the visual code editor.&lt;br /&gt;
&lt;br /&gt;
Clear the window and copy and paste the code from the codefile.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
// define a closure and store it in a variable&lt;br /&gt;
&lt;br /&gt;
let add_one = |x: i32| x + 1;&lt;br /&gt;
&lt;br /&gt;
// call closure and store the result in a variable&lt;br /&gt;
&lt;br /&gt;
let result = add_one(2);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Result = {}&amp;quot;, result);&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
|| Here, parameters are placed between '''vertical &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;pipelines&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;We have defined a closure and binded it to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''add_one'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; variable. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;We then call the closure with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''add_one(2)'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; and bind the return value to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''result'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; variable.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Closures '''can omit''' type annotations '''and '''return types''', as Rust is capable of '''type inference'''&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see another example for multiple statements inside a closure.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Clear the previous code. Copy paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() { &lt;br /&gt;
&lt;br /&gt;
// define a multi-line closure&lt;br /&gt;
&lt;br /&gt;
let squared_sum = |x: i32, y: i32| {&lt;br /&gt;
&lt;br /&gt;
// find the sum of two parameters&lt;br /&gt;
&lt;br /&gt;
let mut sum: i32 = x + y;&lt;br /&gt;
&lt;br /&gt;
// find the squared value of the sum&lt;br /&gt;
&lt;br /&gt;
let mut result: i32 = sum * sum;&lt;br /&gt;
&lt;br /&gt;
return result;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// call the closure&lt;br /&gt;
&lt;br /&gt;
let result = squared_sum(5, 3);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Result = {}&amp;quot;, result);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| In this example, we enclose the multiple statements using curly braces {}.&lt;br /&gt;
&lt;br /&gt;
First we calculate the sum of two parameters.&lt;br /&gt;
&lt;br /&gt;
Then we find the squared value of the sum.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run.'''&lt;br /&gt;
&lt;br /&gt;
We can see the output as 64. &lt;br /&gt;
&lt;br /&gt;
That is the sum of 5 and 3 is 8. The squared value is 64.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide 8&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write a Rust program that takes a vector of integers:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![10, 15, 20, 25, 30, 35, 40];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Using iterators, perform the following steps:&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
** &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Filter out the numbers that are divisible by 10&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Collect the result into a new vector.&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Finally, print the resulting vector.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write a Rust program that takes a vector of integers:&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Using iterators, perform the following steps:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9 Thank You'''&lt;br /&gt;
|| Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Iterators-and-Closures/English</id>
		<title>Rust-Programming-Language/C2/Iterators-and-Closures/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Iterators-and-Closures/English"/>
				<updated>2025-10-13T13:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || Welcome to the Spoken Tutorial on '''Iterators and Closures''' in''' Rust.''' |- style=&amp;quot;border:1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Iterators and Closures''' in''' Rust.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Iterators &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Types of Iterators&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Closures&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
To record this tutorial I’m using&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial I’m using the following setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide''' '''5'''&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* * &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;iterators.rs&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Iterators'''&lt;br /&gt;
&lt;br /&gt;
|| Let us get started.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Iterators are powerful and flexible tools.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;They process sequences of data one at a time.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;They help to iterate over a collection of values such as arrays, vectors, maps, etc.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7:'''&lt;br /&gt;
&lt;br /&gt;
'''Type of Iterators'''&lt;br /&gt;
&lt;br /&gt;
|| In Rust we can categorize iterators into 3 main types.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Basic &amp;amp; Range Iterators '''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Iterator Adapters '''and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Iterator Consumers/Collectors'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Let’s learn about '''Basic and Range Iterators''' with an example.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open '''Visual''' '''code editor'''&lt;br /&gt;
|| Open the '''Visual Studio code editor.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&lt;br /&gt;
&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| I have created the '''filehandling''' project as explained earlier.&lt;br /&gt;
|| Let us go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new iterators '''and press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the '''main.rs''' file.&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![1, 2, 3];&lt;br /&gt;
&lt;br /&gt;
let mut iter = numbers.iter();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // Some(1)&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // Some(2)&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // Some(3)&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, iter.next()); // None&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| We declared a '''vector''' called '''numbers''' with values 1, 2, 3.&lt;br /&gt;
&lt;br /&gt;
'''numbers.iter() method '''creates an iterator named '''iter.'''&lt;br /&gt;
&lt;br /&gt;
'''iterator '''can safely access vector elements without looping.&lt;br /&gt;
&lt;br /&gt;
'''next()''' method is used to traverse through the items. &lt;br /&gt;
&lt;br /&gt;
It returns a value '''None''' when it reaches the end of the collection.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let’s see an example of commonly used '''iterator adapters'''.&lt;br /&gt;
&lt;br /&gt;
Clear the previous code. &lt;br /&gt;
&lt;br /&gt;
Copy paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![1, 2, 3, 4, 5];&lt;br /&gt;
&lt;br /&gt;
let squared: Vec&amp;lt;i32&amp;gt; = numbers&lt;br /&gt;
&lt;br /&gt;
.iter()&lt;br /&gt;
&lt;br /&gt;
.map(|x| x * x)&lt;br /&gt;
&lt;br /&gt;
.collect();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, squared); // [1, 4, 9, 16, 25]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| We declare a vector of integers.&lt;br /&gt;
&lt;br /&gt;
We then create an '''iterator''' using the '''.iter() '''method.&lt;br /&gt;
&lt;br /&gt;
It gives us '''immutable references''' to each element in the vector.&lt;br /&gt;
&lt;br /&gt;
'''.map() '''method uses a '''closure''' that takes each element x and returns &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;its &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;square&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This doesn't immediately compute the &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;square&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It builds a new iterator pipeline that knows how to compute them when needed. &lt;br /&gt;
&lt;br /&gt;
Finally, '''.collect() '''consumes the iterator and gathers the squares into a&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;new &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
The result is printed as a &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;new vector [1&amp;lt;/span&amp;gt;, 4, 9, 16, 25]&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let’s see an example of '''Iterator Consumers '''or''' Collectors.''' &lt;br /&gt;
&lt;br /&gt;
These methods consume an iterator and return results like '''Vec, bool''', or a single value.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Copy and paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![1, 2, 3, 4, 5, 6];&lt;br /&gt;
&lt;br /&gt;
let evens: Vec&amp;lt;_&amp;gt; = numbers&lt;br /&gt;
&lt;br /&gt;
.iter()&lt;br /&gt;
&lt;br /&gt;
.filter(|x| *x % 2 == 0)&lt;br /&gt;
&lt;br /&gt;
.collect();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{:?}&amp;quot;, evens); // [2, 4, 6]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|| This program shows how to use '''iterators '''with filters to show only even numbers from a vector.&lt;br /&gt;
&lt;br /&gt;
Filter() method which takes a closure that returns true or false for each element.&lt;br /&gt;
&lt;br /&gt;
The condition that we’ve used here will check if the number is even or not.&lt;br /&gt;
&lt;br /&gt;
Only the elements that satisfy this condition are passed forward in the iterator pipeline.&lt;br /&gt;
&lt;br /&gt;
Lastly, .collect() method gathers the remaining elements into new '''vector evens'''.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run '''and see the output.&lt;br /&gt;
&lt;br /&gt;
The result is [2, 4, 6], it contains only even numbers from the original list.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Closures'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In Rust, closure is a function without names&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It can capture variables from its environment, which is a key difference from regular functions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| Next we will see about '''Closures'''.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Closure is a function without names&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It can capture variables from its environment, which is a key difference from regular functions.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us understand '''closures''' with an example.&lt;br /&gt;
&lt;br /&gt;
Switch back to the visual code editor.&lt;br /&gt;
&lt;br /&gt;
Clear the window and copy and paste the code from the codefile.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
// define a closure and store it in a variable&lt;br /&gt;
&lt;br /&gt;
let add_one = |x: i32| x + 1;&lt;br /&gt;
&lt;br /&gt;
// call closure and store the result in a variable&lt;br /&gt;
&lt;br /&gt;
let result = add_one(2);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Result = {}&amp;quot;, result);&lt;br /&gt;
&lt;br /&gt;
'''}'''&lt;br /&gt;
|| Here, parameters are placed between '''vertical &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;pipelines&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;We have defined a closure and binded it to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''add_one'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; variable. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;We then call the closure with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''add_one(2)'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; and bind the return value to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''result'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; variable.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Closures '''can omit''' type annotations '''and '''return types''', as Rust is capable of '''type inference'''&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see another example for multiple statements inside a closure.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Clear the previous code. Copy paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() { &lt;br /&gt;
&lt;br /&gt;
// define a multi-line closure&lt;br /&gt;
&lt;br /&gt;
let squared_sum = |x: i32, y: i32| {&lt;br /&gt;
&lt;br /&gt;
// find the sum of two parameters&lt;br /&gt;
&lt;br /&gt;
let mut sum: i32 = x + y;&lt;br /&gt;
&lt;br /&gt;
// find the squared value of the sum&lt;br /&gt;
&lt;br /&gt;
let mut result: i32 = sum * sum;&lt;br /&gt;
&lt;br /&gt;
return result;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// call the closure&lt;br /&gt;
&lt;br /&gt;
let result = squared_sum(5, 3);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Result = {}&amp;quot;, result);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| In this example, we enclose the multiple statements using curly braces {}.&lt;br /&gt;
&lt;br /&gt;
First we calculate the sum of two parameters.&lt;br /&gt;
&lt;br /&gt;
Then we find the squared value of the sum.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run.'''&lt;br /&gt;
&lt;br /&gt;
We can see the output as 64. &lt;br /&gt;
&lt;br /&gt;
That is the sum of 5 and 3 is 8. The squared value is 64.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide 8&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write a Rust program that takes a vector of integers:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
let numbers = vec![10, 15, 20, 25, 30, 35, 40];&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Using iterators, perform the following steps:&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
** &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Filter out the numbers that are divisible by 10&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Collect the result into a new vector.&amp;lt;/div&amp;gt;&lt;br /&gt;
** &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Finally, print the resulting vector.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write a Rust program that takes a vector of integers:&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Using iterators, perform the following steps:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9 Thank You'''&lt;br /&gt;
|| Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust_Programming_Language</id>
		<title>Rust Programming Language</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust_Programming_Language"/>
				<updated>2025-10-13T12:56:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rust is an advanced systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust is designed to be safe and concurrent. It achieves memory safety without using garbage collection and is known for its rich type system and ownership model which guarantee memory-safety and thread-safety.&lt;br /&gt;
&lt;br /&gt;
Rust combines the speed and control of languages like C and C++ with strong safety guarantees that prevent many common programming errors (like null pointer dereferencing and data races).&lt;br /&gt;
It combines low-level control over hardware with high-level abstractions, enabling developers to write reliable and efficient software.&lt;br /&gt;
&lt;br /&gt;
The contributor who helped to create the outline, content, code is '''Vishal Pokuri''' from VIT Vellore. The Spoken Tutorial Effort for '''Rust Programming language''' is being contributed by '''Ms. Nirmala Venkat, Ms.Ketki Bhamble''' and '''Ms. Madhuri Ganapathi''' from Spoken Tutorial project, IIT Bombay.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==Basic Level==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Installation of Rust on Linux'''&lt;br /&gt;
&lt;br /&gt;
*About Rust&lt;br /&gt;
*Installation of Rust on Linux&lt;br /&gt;
*Check for Curl installation&lt;br /&gt;
*Install modules and packages like cargo, rustfmt, clippy&lt;br /&gt;
*Set up an Integrated Development Environment(IDE)&lt;br /&gt;
*Install Visual Studio Code&lt;br /&gt;
*Install rust-analyzer&lt;br /&gt;
*Verify the version after installation is done&lt;br /&gt;
*About Rust compiler and Tool Chain Manager&lt;br /&gt;
*Write and compile a Hello world program &lt;br /&gt;
&lt;br /&gt;
'''2. Hello World using Cargo'''&lt;br /&gt;
*About Cargo&lt;br /&gt;
*About Cargo commands&lt;br /&gt;
*Create a Rust project using Visual Studio code&lt;br /&gt;
*Add a program in main.rs&lt;br /&gt;
*Explore Rust program structure&lt;br /&gt;
*Save the program&lt;br /&gt;
*Build the Rust program&lt;br /&gt;
*Run the Rust program&lt;br /&gt;
*Check the output&lt;br /&gt;
*Edit the program and re-run the program&lt;br /&gt;
&lt;br /&gt;
'''3.Variables and Mutability'''&lt;br /&gt;
*Variables in Rust&lt;br /&gt;
*Mutabilty in Rust&lt;br /&gt;
*Mutable variable with example&lt;br /&gt;
*Shadowing of variables&lt;br /&gt;
*Scope of variables&lt;br /&gt;
&lt;br /&gt;
'''4.Data Types'''&lt;br /&gt;
*Data types in Rust&lt;br /&gt;
*Scalar Data type with example&lt;br /&gt;
*Constants&lt;br /&gt;
*Type Inference in Rust&lt;br /&gt;
&lt;br /&gt;
'''5.Control Flow'''&lt;br /&gt;
*Control Flow Statement &lt;br /&gt;
*if &lt;br /&gt;
*else if &lt;br /&gt;
*else &lt;br /&gt;
*loop &lt;br /&gt;
*for loop&lt;br /&gt;
*while loop&lt;br /&gt;
&lt;br /&gt;
'''6.Functions'''&lt;br /&gt;
*Functions in Rust&lt;br /&gt;
*Declare a Function&lt;br /&gt;
*Passing parameters to a Function&lt;br /&gt;
*Function with return value&lt;br /&gt;
*Examples&lt;br /&gt;
&lt;br /&gt;
'''7.Enums'''&lt;br /&gt;
*Enums in Rust&lt;br /&gt;
*Variants in Rust&lt;br /&gt;
*Explain with example&lt;br /&gt;
&lt;br /&gt;
'''8.Pattern Matching'''&lt;br /&gt;
*About Pattern matching&lt;br /&gt;
*Match statement with example&lt;br /&gt;
*About Option and Result enum types&lt;br /&gt;
*Matching Option Type with example&lt;br /&gt;
*Result enum type with example&lt;br /&gt;
&lt;br /&gt;
'''9.Pattern Types'''&lt;br /&gt;
*Pattern types in rust&lt;br /&gt;
*Irrefutable pattern&lt;br /&gt;
*refutable pattern&lt;br /&gt;
*if let expression with example&lt;br /&gt;
*while let expression with example&lt;br /&gt;
&lt;br /&gt;
'''10.Arrays'''&lt;br /&gt;
*Arrays in Rust&lt;br /&gt;
*Array Index&lt;br /&gt;
*Mutable Array&lt;br /&gt;
*Different methods used in arrays&lt;br /&gt;
&lt;br /&gt;
'''11. Tuples and Struct'''&lt;br /&gt;
*About Tuples&lt;br /&gt;
*Example for Tuples&lt;br /&gt;
*Destructuring Tuples&lt;br /&gt;
*About Rust struct or structures&lt;br /&gt;
*Example for Struct&lt;br /&gt;
&lt;br /&gt;
'''12.Strings'''&lt;br /&gt;
*About String data type&lt;br /&gt;
*String Literal&lt;br /&gt;
*String Slice&lt;br /&gt;
*String Objects&lt;br /&gt;
*common methods used with string objects&lt;br /&gt;
&lt;br /&gt;
'''13.Ownership'''&lt;br /&gt;
*About Ownership&lt;br /&gt;
*Ownership Rules&lt;br /&gt;
*Drop and Copy traits&lt;br /&gt;
*Example for Drop trait&lt;br /&gt;
*Example for Copy trait&lt;br /&gt;
&lt;br /&gt;
'''14. Borrowing'''&lt;br /&gt;
*About Borrowing&lt;br /&gt;
*Rules of Borrowing&lt;br /&gt;
*Example for rules of Borrowing&lt;br /&gt;
*Dangling reference with example&lt;br /&gt;
&lt;br /&gt;
'''15. Collections'''&lt;br /&gt;
*Collections&lt;br /&gt;
*Types of Collections&lt;br /&gt;
*Vectors with example&lt;br /&gt;
*HashMap with example&lt;br /&gt;
*HashSet with example&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust_Programming_Language</id>
		<title>Rust Programming Language</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust_Programming_Language"/>
				<updated>2025-10-13T12:43:54Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;Rust is an advanced systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust is designed to be safe and concurrent. It ach...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rust is an advanced systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust is designed to be safe and concurrent. It achieves memory safety without using garbage collection and is known for its rich type system and ownership model which guarantee memory-safety and thread-safety.&lt;br /&gt;
&lt;br /&gt;
Rust combines the speed and control of languages like C and C++ with strong safety guarantees that prevent many common programming errors (like null pointer dereferencing and data races)&lt;br /&gt;
It combines low-level control over hardware with high-level abstractions, enabling developers to write reliable and efficient software.&lt;br /&gt;
&lt;br /&gt;
The contributor who helped to create the outline, content, code is '''Vishal Pokuri''' from VIT Vellore. The Spoken Tutorial Effort for '''Rust Programming language''' is being contributed by '''Ms. Nirmala Venkat, Ms.Ketki Bhamble and Ms. Madhuri Ganapathi''' from Spoken Tutorial project, IIT Bombay.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==Basic Level==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Installation of Rust on Linux'''&lt;br /&gt;
&lt;br /&gt;
*About Rust&lt;br /&gt;
*Installation of Rust on Linux&lt;br /&gt;
*Check for Curl installation&lt;br /&gt;
*Install modules and packages like cargo, rustfmt, clippy&lt;br /&gt;
*Set up an Integrated Development Environment(IDE)&lt;br /&gt;
*Install Visual Studio Code&lt;br /&gt;
*Install rust-analyzer&lt;br /&gt;
*Verify the version after installation is done&lt;br /&gt;
*About Rust compiler and Tool Chain Manager&lt;br /&gt;
*Write and compile a Hello world program &lt;br /&gt;
&lt;br /&gt;
'''2. Hello World using Cargo'''&lt;br /&gt;
*About Cargo&lt;br /&gt;
*About Cargo commands&lt;br /&gt;
*Create a Rust project using Visual Studio code&lt;br /&gt;
*Add a program in main.rs&lt;br /&gt;
*Explore Rust program structure&lt;br /&gt;
*Save the program&lt;br /&gt;
*Build the Rust program&lt;br /&gt;
*Run the Rust program&lt;br /&gt;
*Check the output&lt;br /&gt;
*Edit the program and re-run the program&lt;br /&gt;
&lt;br /&gt;
'''3.Variables and Mutability'''&lt;br /&gt;
*Variables in Rust&lt;br /&gt;
*Mutabilty in Rust&lt;br /&gt;
*Mutable variable with example&lt;br /&gt;
*Shadowing of variables&lt;br /&gt;
*Scope of variables&lt;br /&gt;
&lt;br /&gt;
'''4.Data Types'''&lt;br /&gt;
*Data types in Rust&lt;br /&gt;
*Scalar Data type with example&lt;br /&gt;
*Constants&lt;br /&gt;
*Type Inference in Rust&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Ultrasonic-Sensor/English</id>
		<title>ElectroBlocks/C2/Ultrasonic-Sensor/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Ultrasonic-Sensor/English"/>
				<updated>2025-10-10T07:58:39Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;  &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt; || Welcome to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Ultrasonic Sensor''' using '''Electroblocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn to,&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks for '''Ultrasonic sensor''' to detect an object in its range&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial, I am using&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the following setup: &amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Slide 4:&lt;br /&gt;
&lt;br /&gt;
Prerequisite&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial,learner should have a basic knowledge of&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Electroblocks &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
https://electroblocks.org/&lt;br /&gt;
|| Let us open the '''ElectroBlocks''' website in the chrome browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Let us open a new blank project.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:5'''&lt;br /&gt;
&lt;br /&gt;
Required section&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logic&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Motion&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;LED&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Time&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Math&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| We will need the following secti&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ons f&amp;lt;/span&amp;gt;or this experiment.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Switch back to the '''Electroblocks''' interface.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show '''Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
|| This is the circuit diagram of an ultrasonic''' sensor''' experiment. &lt;br /&gt;
&lt;br /&gt;
Here, when an object comes in the defined range of the sensor the buzzer is turned ON.&lt;br /&gt;
&lt;br /&gt;
Otherwise the buzzer is turned OFF.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us build this circuit using '''ElectroBlocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Keep the loop block in the middle area '''&lt;br /&gt;
&lt;br /&gt;
Click on the Logic section&lt;br /&gt;
&lt;br /&gt;
Point to if-then-else block&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Drag the '''if then else''' block and place inside the '''loop''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Sensors''' section&lt;br /&gt;
|| Now we will add an '''Ultrasonic sensor block.'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Sensors''' section and Click on the '''Motion'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Select the '''Setup Ultrasonic Sensor '''block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Point to the '''Setup Ultrasonic Sensor '''block.&lt;br /&gt;
|| Select the '''Setup Ultrasonic Sensor '''block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
The '''Setup Ultrasonic Sensor '''block is used to configure the '''Ultrasonic sensor '''in the circuit. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point toward trigger pin and echo pin.&lt;br /&gt;
&lt;br /&gt;
Point toward trigger pin&lt;br /&gt;
&lt;br /&gt;
Point towards echo pin &lt;br /&gt;
&lt;br /&gt;
|| I&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;n the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''setup'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''block, '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''trigger'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; pin and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''echo'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; pin are used for distance measurement.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Trigger''' pin emits ultrasonic sound waves.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Echo''' pin receives the ultrasonic waves reflected from any object in its range.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to '''trigger''' pin and '''echo''' pin&lt;br /&gt;
&lt;br /&gt;
|| Here, the '''trigger''' pin and '''echo''' pin are connected to '''pin 11 and 10 '''of the Arduino.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Point towards the number box&lt;br /&gt;
Click on the number box and change it to 5.&lt;br /&gt;
&lt;br /&gt;
Point to simulation window&lt;br /&gt;
&lt;br /&gt;
Point to the red rectangular box in front of the sensor.&lt;br /&gt;
|| We can change the distance by clicking on the '''Distance in Centimetre''' box.&lt;br /&gt;
&lt;br /&gt;
Click on the box and change the value to '''5.'''&lt;br /&gt;
&lt;br /&gt;
Check the '''Copy All''' checkbox.&lt;br /&gt;
&lt;br /&gt;
This setting will set the distance of the object to 5 centimeters for all the 3 loops.&lt;br /&gt;
&lt;br /&gt;
In the simulation window, the '''5''' cm distance is displayed on the ultrasonic sensor.&lt;br /&gt;
&lt;br /&gt;
Here the object is shown as a red rectangular box in front of the sensor.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''logic''' option&lt;br /&gt;
&lt;br /&gt;
Select the''' (=) block''' and drag in the working area.&lt;br /&gt;
&lt;br /&gt;
Place the block in the '''if '''section of''' if then else block.'''&lt;br /&gt;
|| We need a '''comparison''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''logic''' section.&lt;br /&gt;
&lt;br /&gt;
The third block represents the comparison block.&lt;br /&gt;
&lt;br /&gt;
Drag the''' comparison''' '''block''' and place it in the''' if '''section''' '''of the '''if then else block.'''&lt;br /&gt;
&lt;br /&gt;
This will compare the distance value of the object from the sensor.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Motion''',select distance (cm) block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''first section '''of the '''logic''' block.&lt;br /&gt;
&lt;br /&gt;
Point to dropdown option&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option and select '''less than''' '''equal to''' option from the list.&lt;br /&gt;
|| Let us add a '''distance '''block'''.'''&lt;br /&gt;
&lt;br /&gt;
Click on the '''Motion'''.&lt;br /&gt;
&lt;br /&gt;
Drag the '''distance(cm)''' block and place this block in the '''first section '''of the '''comparison''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option and select '''less than equal to '''option from the list.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| click on the '''math''' option available on the left side on the screen.&lt;br /&gt;
&lt;br /&gt;
|| Next,&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;click on the '''Math''' section.&lt;br /&gt;
&lt;br /&gt;
We will add the distance value.&lt;br /&gt;
&lt;br /&gt;
Drag and place the first '''number''' '''block''' next to the '''less than equal to '''option.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''number''' block and change to 10.&lt;br /&gt;
|| Click on the '''number''' block and change to 10.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Click on the''' LED '''option.&lt;br /&gt;
&lt;br /&gt;
Select the '''Turn a LED '''block.&lt;br /&gt;
&lt;br /&gt;
Place the block in the ‘'''then’''' section of the '''if then else '''block.&lt;br /&gt;
|| Next let us add a '''Buzzer '''to the circuit.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' and click on the '''Passive Buzzer'''.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''Turn Passive buzzer''' block to the '''then''' section of the '''if then else''' block.&lt;br /&gt;
&lt;br /&gt;
By default the '''Buzzer '''is '''ON '''and connected to pin 9 of the '''arduino.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Right Click on the''' Turn a LED '''block and select the duplicate option.&lt;br /&gt;
&lt;br /&gt;
Place this new block in the '''else''' section of the '''If then else''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option in the''' Turn Passive LED '''block''' '''and select the &amp;quot;'''Off'''&amp;quot; state.&lt;br /&gt;
|| Right click on the''' Turn Passive buzzer '''block and select the duplicate option.&lt;br /&gt;
&lt;br /&gt;
Place this new block in the '''else''' section of the '''If then else''' block.&lt;br /&gt;
&lt;br /&gt;
Change the state of the Buzzer to '''OFF''' from the dropdown option.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Zoom and show the simulation area&lt;br /&gt;
&lt;br /&gt;
Highlight hand symbol and '''pressed''' word&lt;br /&gt;
&lt;br /&gt;
|| Click on the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
We can see the '''Buzzer''' is turned ON.&lt;br /&gt;
&lt;br /&gt;
In the block we have specified the distance as 5cms and the range is less than 10 which is true.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Point towards '''Setup Ultrasonic sensor '''block.&lt;br /&gt;
&lt;br /&gt;
Point towards '''Distance in the Centimeter''' box.&lt;br /&gt;
&lt;br /&gt;
Click on the box and change the value to '''20'''&lt;br /&gt;
&lt;br /&gt;
Point towards the simulation window.&lt;br /&gt;
&lt;br /&gt;
Point to square box.drag this square box to the start point of the simulation.&lt;br /&gt;
|| Let us change the distance value and check the simulation output.&lt;br /&gt;
&lt;br /&gt;
In the '''Setup Ultrasonic sensor''' block, change the distance to 20 Centimeters.&lt;br /&gt;
&lt;br /&gt;
In the simulation window, note that the object has &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;moved&amp;lt;/span&amp;gt; to 20cms.&lt;br /&gt;
&lt;br /&gt;
Let us simulate and see the output again.&lt;br /&gt;
&lt;br /&gt;
Drag the box above the play button to the start position.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click on the play button&lt;br /&gt;
&lt;br /&gt;
Point to OFF state&lt;br /&gt;
&lt;br /&gt;
|| Click on the '''Play''' button to see the output.&lt;br /&gt;
&lt;br /&gt;
Notice that the '''Buzzer '''remains in OFF state as the distance is above 10cms.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about,&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks for Ultrasonic sensor to detect an object in its range&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of experiment using simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7 :'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment''':&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Turn '''ON the Buzzer '''when the ultrasonic sensor detects a distance equals to 10 cm.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Turn '''OFF the Buzzer '''if it is not 10 cms.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8: Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Borrowing/English</id>
		<title>Rust-Programming-Language/C2/Borrowing/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Borrowing/English"/>
				<updated>2025-10-07T11:09:38Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing in Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Borrowing and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rules of borrowing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | To record this tutorial I’m using the following setup&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; link of this tutorial page.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let us learn about borrowing.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Borrowing is the act of creating references to data without taking ownership&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When we borrow a value, we reference its memory address with the &amp;amp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7 : '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing - Example'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;hello&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s1 = &amp;amp;s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Here &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s’'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; owns the string “&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;”&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s1'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;’ borrows ‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;’ by reference denoted by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;amp;s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;. &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;But &amp;lt;/span&amp;gt;ownership&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; of the string is still with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s1 '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is only allowed to read the data&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will point to the data, making it an immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Next we will see about rules of borrowing&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8: &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rules of borrowing:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1. Any number of Immutable references to a data&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You can have any number of immutable references to a data at the same time.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Immutable references do not allow modification of the data.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Any number of read operations are &amp;lt;/span&amp;gt;safe,&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;but &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;write &amp;lt;/span&amp;gt;operations are not&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; allowed.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us understand with an example.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new borrow'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; borrow'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new borrow '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Code file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let a = String::from(&amp;quot;Hello world&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let b = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let c = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let d = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, b);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, c);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, d);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''b, c, d '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;are assigned with an immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''a'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When you try to print them, there won't be any errors.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It &amp;lt;/span&amp;gt;allows multiple&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; immutable references to a piece of data simultaneously.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;utput shows, variable &amp;lt;/span&amp;gt;'''a'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; can have &amp;lt;/span&amp;gt;multiple &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;immutable references.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slid&amp;lt;/span&amp;gt;e 9&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;: Rules of borrowing:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;2. Only 1 mutable reference to a data&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | The second rule states that you can have only one mutable reference to a data.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see an example. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the previous code. Copy paste the code from the &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r2 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;World&amp;quot;); r2.push_str(&amp;quot;Rust&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r2);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, the mutable variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is assigned to a string object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables r1, r2 are assigned with a mutable reference to s.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When both the references try to modify the data, rust wont allow this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will lead to a data race, where the data gets corrupted.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//let r2 = &amp;amp;mut s;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;world&amp;quot;); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//r2.push_str(&amp;quot;Rust&amp;quot;);'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//println!(&amp;quot;{}&amp;quot;,r2);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Run the code and check the error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us &amp;lt;/span&amp;gt;comment the code, related to the second&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; mutable reference.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 10:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rules of Borrowing: The third Rule:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;cannot mix&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' mutable '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' immutable references '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to the same data at the same time.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us understand through an example.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the &amp;lt;/span&amp;gt;'''C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r2 = &amp;amp;s;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;Rust&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Mutable variable&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;''' s '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;is assigned to a string object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Here &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''r1 is '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;assigned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;a mutable reference to s. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;And&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;''' &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;r2'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;an immutable&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One reference tries to modify the data while another reference tries to read data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will lead to corrupt data because the reference didn’t get out of scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It still has the mutable reference and may change the data in the scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Comment the &amp;lt;/span&amp;gt;line of &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hence rust doesn't allow you to break all the above 3 rules.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Next we will see how dangling references occur and how Rust prevents them.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;Let us understand with an example.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;Copy and paste the code from the code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn get_reference() -&amp;gt; &amp;amp;String {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello, Rust!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;s // ❌ Error: `s` is dropped at the end of this function&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} // `s` goes out of scope here, but we're trying to return a reference to it&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r = get_reference(); // Trying to use a reference to `s`, but `s` is already dropped&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, r);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''get_reference(),'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; we create a String named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the next line, it returns &amp;lt;/span&amp;gt;a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; reference to that string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When the function ends, s goes &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;out of scope, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and its heap memory is freed.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;we are trying to return a reference to t&amp;lt;/span&amp;gt;his&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; freed memory.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hence, we will get an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When we try to run the main function, it &amp;lt;/span&amp;gt;l&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;eads to an invalid memory.&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''dangling reference'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program&amp;lt;/span&amp;gt;.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us run the program and check the error.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn get_reference() -&amp;gt; String {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let s = String::from(&amp;quot;Hello, Rust!&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s // ownership is moved out safely'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''} '''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let's see h&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ow to correct this program?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us modify the program to return &amp;lt;/span&amp;gt;a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; value not the reference.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Remove the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' &amp;amp;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Now run the program and see the result.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn main() {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let fruit1 = String::from(&amp;quot;Apple&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let fruit2 = fruit1; '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;fruit1 = {}&amp;quot;, fruit1); '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;fruit2 = {}&amp;quot;, fruit2);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
&lt;br /&gt;
Run the above code and fix the error.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 9 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Collections/English</id>
		<title>Rust-Programming-Language/C2/Collections/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Collections/English"/>
				<updated>2025-10-06T09:01:54Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Collections in Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Collections an&amp;lt;/span&amp;gt;d&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Types of Collections&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/span&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* To record this tutorial I’m using the following setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''4'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; link of this tutorial page.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Collections'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let us get started.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Collections'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; are data structures that hold multiple values together&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;They are used to store, retrieve, and manipulate groups of related values efficiently.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust's collection types &amp;lt;/span&amp;gt;are available&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''std::collections'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; module &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide7:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Types of Collections'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust has 3 common collections that are used very often.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Vectors'''&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#171717;&amp;quot;&amp;gt;are dynamic arrays that can grow or shrink in size as needed.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Hash Map'''&amp;lt;/span&amp;gt; is a &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;key-value pair storage for fast lookups by key&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''HashSet'''&amp;lt;/span&amp;gt; is a &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;collection of unique items with&amp;lt;/span&amp;gt; no&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; duplicates&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new collections'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; collections'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new collections '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut fruits = vec![&amp;quot;Apple&amp;quot;];&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fruits.push(&amp;quot;Banana&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fruits.push(&amp;quot;Cherry&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Accessing elements safely&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{:?}&amp;quot;, fruits.get(1)); // Some(&amp;quot;Banana&amp;quot;)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{:?}&amp;quot;, fruits.get(5)); // None&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Removing last element&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fruits.pop();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{:?}&amp;quot;, fruits); // [&amp;quot;Apple&amp;quot;, &amp;quot;Banana&amp;quot;]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Checking if empty&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, fruits.is_empty());&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Checking length&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Number of fruits: {}&amp;quot;, fruits.len());&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This code explains how the vector works.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We declare a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''mutable vector'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''fruits'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and i&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;t is initialized with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;&amp;quot;Apple&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;push()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;method to add elements&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;to the end of the vector.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We add &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''banana'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cherry'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; to the second and third position using the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''push'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; method.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
W&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;e use the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''get() '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;method which returns an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Option enum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''fruits.get(1) '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;accesses the element at index 1 and prints &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Some(“Banana”)'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''fruits.get(5) '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is an invalid index and so it prints &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''None.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;.pop()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; method&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; removes the last element &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;from the vector.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In our case, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;&amp;quot;Cherry&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;the last item and it gets removed.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;.is_empty()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;checks if the vector has &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;zero elements.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;.len()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; returns the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;number of elements &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;present in the vector.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;is_empty()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; returns false since the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; is not empty.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The vector has 2 elements and so the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''len'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; method prints,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Number of fruits as 2&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Next we will see about &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''HashMap.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;use std::collections::HashMap;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut capitals = HashMap::new();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;// Insert key-value pairs&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;capitals.insert(&amp;quot;India&amp;quot;, &amp;quot;New Delhi&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;capitals.insert(&amp;quot;USA&amp;quot;, &amp;quot;Washington D.C.&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;// Accessing elements&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;{:?}&amp;quot;, capitals.get(&amp;quot;India&amp;quot;));&amp;amp;nbsp; // Some(&amp;quot;New Delhi&amp;quot;)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;{:?}&amp;quot;, capitals.get(&amp;quot;France&amp;quot;)); // None&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;// Removing an entry&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;capitals.remove(&amp;quot;USA&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;// Checking if key exists&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;if capitals.contains_key(&amp;quot;India&amp;quot;) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;Found India's capital!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Copy paste the code from the Code file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Rust,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''HashMap'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is not available by default.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We need to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''import '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;it&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;std::collections&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;module to use it.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We create a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''new, empty'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''mutable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''HashMap'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;'''capitals'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;insert()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method allows us to store a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''key'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; with its &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;value.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The keys are the country names and the values are their capitals&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Similar to Vector, we &amp;lt;/span&amp;gt;use the&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''.get()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method, &amp;lt;/span&amp;gt;to retrieve&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the value for&amp;lt;/span&amp;gt; a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; given key.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the key exists, it returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Some(value)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If the key does not exist, it returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;None&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;remove()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;deletes &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;the entry with the given key.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It removes&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;&amp;quot;USA&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and its capital &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;&amp;quot;Washington D.C.&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; from the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' HashMap.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;contains_key()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method checks if a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;specific&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' key'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is present inside the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' HashMap'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;len()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; method gives the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; total number of&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' key-value pairs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; present inside the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''HashMap'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Run the program to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next we will see about &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Hashset'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hashset:&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; is a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; collection of unique values.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It does not store duplicate entries, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;that is&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;o two identical items can exist&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; in it.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It is unordered — &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;T&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;he elements do not have a guaranteed order inside the set.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Switch back to the visual code editor.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy paste the code from the Code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;use std::collections::HashSet;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut names = HashSet::new();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;// Inserting elements&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;names.insert(&amp;quot;Jack&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;names.insert(&amp;quot;Joe&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;names.insert(&amp;quot;Jill&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;names.insert(&amp;quot;Joe&amp;quot;); // Duplicate, will be ignored&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;if names.contains(&amp;quot;Joe&amp;quot;) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;println!(&amp;quot;Joe is present!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;// Removing an element&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;names.remove(&amp;quot;Jill&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;// Checking length&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;println!(&amp;quot;Number of persons: {}&amp;quot;, names.len());&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In this code, we create a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''mutable'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; empty &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;HashSet&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;'''names.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''.insert()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; method insert elements to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''HashSet'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;When we try to insert the name&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Joe'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;twice&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;second insertion is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;ignored&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;automatically&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Hash sets only store &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;unique &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;items.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The .&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;contains()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; method checks if a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; specific &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''item '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is present inside the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''HashSet'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will print a success message if the name &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''joe'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; exists.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''remove()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; method deletes a specific value from the set. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;e can also loop through all the elements and print them.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The order is not guaranteed because &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''HashSets'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; are unordered.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Write a Rust program that:&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.247cm;margin-right:0cm;&amp;quot;&amp;gt;Takes&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; a list of numbers &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
# &amp;lt;div style=&amp;quot;margin-left:1.247cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Uses a HashSet to find all the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''unique numbers'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 9 Thank You'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Servo-Motor/English</id>
		<title>ElectroBlocks/C2/Servo-Motor/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Servo-Motor/English"/>
				<updated>2025-10-01T11:26:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || Welcome to the '''Spoken Tutorial''' on '''Servo Motor '''using '''Electroblocks'''. |- style=&amp;quot;b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Servo Motor '''using '''Electroblocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2:'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn to,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Build a set of blocks to create a''' Servo motor '''experiment&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Check the output of the experiment using the simulator&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3:'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux OS version 22.04'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Google Chrome Browser'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use the Electroblocks. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 4:'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
&lt;br /&gt;
|| To follow this tutorial, learner should have a basic knowledge of&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Electroblocks &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Type &lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the''' ElectroBlocks''' website using the '''Chrome''' browser.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Let us open a new blank project.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Show Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
Point to the servo motor and then to the button&lt;br /&gt;
|| This is the circuit diagram of '''servo motor experiment.'''&lt;br /&gt;
&lt;br /&gt;
The servo motor will rotate in a specified angle when the button is pressed.&lt;br /&gt;
&lt;br /&gt;
Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:5'''&lt;br /&gt;
&lt;br /&gt;
Required section&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logic&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Button &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Variables&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Loops&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Servo&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Time&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| We will need the following sections for this experiment.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Switch back to the '''Electroblocks''' interface.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Keep the loop block in the middle area (compulsory)'''&lt;br /&gt;
&lt;br /&gt;
Click on the Logic sectionDrag and drop the block in working area&lt;br /&gt;
&lt;br /&gt;
Place the if-then block in the loop section.&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''if-then''' block.&lt;br /&gt;
&lt;br /&gt;
Drag and place it inside the '''loop''' block.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Click the '''Sensors''' section and point to lis&lt;br /&gt;
&lt;br /&gt;
Select the '''Button setup''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Point to '''pin 2'''&lt;br /&gt;
&lt;br /&gt;
|| Click on the '''Sensors''' section and select the '''Button.'''&lt;br /&gt;
&lt;br /&gt;
Select the '''Button setup''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Note that by default the button is connected to '''pin 2''' of the '''Arduino'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Select the '''button is pressed''' block and Place this block in the '''if''' section of the '''if-then''' block&lt;br /&gt;
|| Go to the '''Button section.'''&lt;br /&gt;
&lt;br /&gt;
Drag and place the''' button is pressed''' block in the '''if''' section of the '''if-then''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration &lt;br /&gt;
&lt;br /&gt;
Click on the Loops option.&lt;br /&gt;
&lt;br /&gt;
Click on the loop with i block&lt;br /&gt;
&lt;br /&gt;
Drag and place this block in the then section of the if then block.&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on the &amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''Loops'''&amp;lt;/span&amp;gt; section.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Drag and place the '''loop with '''block in the '''then''' section of '''if then''' block.&lt;br /&gt;
&lt;br /&gt;
The '''loop with '''block creates a loop with a '''from''' value, '''to''' value and '''increment''' value.&lt;br /&gt;
&lt;br /&gt;
Let us change the '''from''' value as 40 and '''to''' value as 140.&lt;br /&gt;
&lt;br /&gt;
By default the increment value is 1. Let us change to 10.&lt;br /&gt;
&lt;br /&gt;
This loop setup runs from 40 to 140, incrementing the '''I '''variable by 10 each time.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' option&lt;br /&gt;
&lt;br /&gt;
Click on the '''Servo''' option.&lt;br /&gt;
|| Next we will add a '''servo motor''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and click on the '''Servo'''.&lt;br /&gt;
&lt;br /&gt;
Drag and place the '''Rotate servo''' block in the '''do''' section of the''' loop with '''block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Point to '''servo''' and''' push button''' block&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown arrow in the '''Rotate servo''' block and change the pin number to pin 5&lt;br /&gt;
&lt;br /&gt;
Point to the blocks and the circuit diagram&lt;br /&gt;
|| You will see both the '''Rotate servo''' and '''button setup '''block will turn to grey.&lt;br /&gt;
&lt;br /&gt;
Also, you will not see a circuit in the simulation screen.&lt;br /&gt;
&lt;br /&gt;
This is an error.&lt;br /&gt;
&lt;br /&gt;
It occurs because both the '''servo motor''' and '''push button''' are connected to pin 2 of the Arduino.&lt;br /&gt;
&lt;br /&gt;
To resolve this error, we will assign a different pin number to the '''servo motor.'''&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown arrow in the '''Rotate servo''' block and change the pin number to pin 5 .&lt;br /&gt;
Now, all the blocks appear in normal condition, with the updated circuit diagram.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to rotate servo number block &lt;br /&gt;
&lt;br /&gt;
|| We can see the default degree as '''50''' which indicates the servo motor rotates to '''50''' degrees.&lt;br /&gt;
&lt;br /&gt;
Let us set the limit between 40 to 140 degrees.&lt;br /&gt;
&lt;br /&gt;
For that we need to use a variable '''i''' which we defined in the '''loop with '''block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Remove the Rotate Servo number block&lt;br /&gt;
&lt;br /&gt;
Click on the Variable option on the left-hand side of the screen.&lt;br /&gt;
&lt;br /&gt;
Select the i block and drag it into the working area.&lt;br /&gt;
&lt;br /&gt;
Place the i block inside the Rotate Servo block.&lt;br /&gt;
&lt;br /&gt;
Only narration&lt;br /&gt;
|| First, delete the '''degrees''' block value by selecting the block and press the delete key.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Variable section''' and Select the '''i block'''.&lt;br /&gt;
&lt;br /&gt;
Place the '''i''' '''block''' next to the degrees section of the '''Rotate servo block.'''&lt;br /&gt;
&lt;br /&gt;
It sets the variable i for the '''loop with '''block to work.&lt;br /&gt;
&lt;br /&gt;
Now the servo motor rotates from 40° to 140° when the push button is pressed.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Click on the '''Time''' section&lt;br /&gt;
&lt;br /&gt;
drag and drop the '''Wait for 0.2 seconds '''block and place it below the '''Rotate servo '''block.&lt;br /&gt;
|| The '''delay''' block is required to ensure the servo motor rotates smoothly.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Drag and drop the '''Wait for 0.2 seconds''' block and place it below the''' Rotate servo''' block.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Right click on the loop with i block.&lt;br /&gt;
&lt;br /&gt;
Select the duplicate option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the loop with the i block.&lt;br /&gt;
&lt;br /&gt;
Point to 140 to 40 &lt;br /&gt;
|| We need the servo motor to rotate in the opposite direction when it reaches 140 degrees.&lt;br /&gt;
&lt;br /&gt;
We will duplicate the entire''' loop with '''block and change the values from 140 to 40 degrees.&lt;br /&gt;
&lt;br /&gt;
Right click on the '''loop with''' block and select the '''duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''loop with '''block.&lt;br /&gt;
&lt;br /&gt;
Change the '''from''' and '''to''' values as 140 and 40.&lt;br /&gt;
&lt;br /&gt;
Now we have created the blocks required for this experiment.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only Narration.&lt;br /&gt;
&lt;br /&gt;
Click on '''Code''' '''Icon.'''&lt;br /&gt;
&lt;br /&gt;
'''Zoom and show the code.'''&lt;br /&gt;
|| We will see the '''arduino''' '''code''' generated by '''electroblocks'''.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Code''' '''icon'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
&lt;br /&gt;
Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Point to simulation window.&lt;br /&gt;
&lt;br /&gt;
|| When the push button is pressed, the servo motor rotates from 40 to 140 degrees.&lt;br /&gt;
&lt;br /&gt;
We can see the''' i '''value displayed above the servo motor.&lt;br /&gt;
&lt;br /&gt;
Notice that once it reaches 140-degrees, it will start to rotate in the reverse direction.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:5'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide:6'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment''':&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Change the parameters to rotate the servo motor from 0° to 180° and rotate back to 0°. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7:'''&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Control-LED-with-Push-Button/English</id>
		<title>ElectroBlocks/C2/Control-LED-with-Push-Button/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Control-LED-with-Push-Button/English"/>
				<updated>2025-10-01T09:33:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the Script: Control LED with Push button'''&lt;br /&gt;
&lt;br /&gt;
'''Author: '''Pratik Bhosale&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Control LED with Push Button''' using '''Electroblocks'''.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn how to&lt;br /&gt;
* Create blocks to control the '''LED''' using a Push Button&lt;br /&gt;
* Check the output of the experiment using the simulator&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using:&lt;br /&gt;
* '''Ubuntu Linux OS version 22.04 '''&lt;br /&gt;
* '''Google Chrome browser'''&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use '''Electroblocks'''. &lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial, Learner should have a basic knowledge of&lt;br /&gt;
* Electroblocks&lt;br /&gt;
|-&lt;br /&gt;
|| '''Type '''&lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the''' ElectroBlocks''' website using '''Chrome''' browser.&lt;br /&gt;
|-&lt;br /&gt;
|| On the top tool bar, click on the New''' File/Blank''' File option.&lt;br /&gt;
&lt;br /&gt;
A '''pop-up window''' will appear—click '''OK''' to proceed.&lt;br /&gt;
&lt;br /&gt;
Point to loop block&lt;br /&gt;
|| Click on the '''New File/Blank''' '''File '''option to create a new circuit.&lt;br /&gt;
&lt;br /&gt;
Click '''OK''' in the popup window to proceed .&lt;br /&gt;
&lt;br /&gt;
We can see a '''loop''' block by default.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Show Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
'''LED_ON.png'''&lt;br /&gt;
&lt;br /&gt;
'''LED_OFF.png'''&lt;br /&gt;
&lt;br /&gt;
Point to the push button in the circuit diagram&lt;br /&gt;
|| This is the circuit diagram of '''Control LED with Push Button'''.&lt;br /&gt;
&lt;br /&gt;
If the push button is pressed, the '''LED turns ON''' and waits for one second.&lt;br /&gt;
&lt;br /&gt;
If the push button is released, the''' LED turns OFF '''and waits for one second.&lt;br /&gt;
&lt;br /&gt;
Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Required Section'''&lt;br /&gt;
|| We need the various blocks from the below section for this experiment.&lt;br /&gt;
* Logic&lt;br /&gt;
* Button&lt;br /&gt;
* LED&lt;br /&gt;
* Time&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|| Switch back to the '''Electroblock''' interface.&lt;br /&gt;
&lt;br /&gt;
|| Switch back to the '''Electroblock''' interface.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Keep the loop block in the middle area (compulsory)'''&lt;br /&gt;
&lt;br /&gt;
In the left panel, click on the Logic section&lt;br /&gt;
&lt;br /&gt;
Point to if-then- blockDrag and drop the block in working area&lt;br /&gt;
&lt;br /&gt;
Place the if-then block in the loop section.&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''if-then''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
The '''if-then block''' is used to make decisions in your program.&lt;br /&gt;
&lt;br /&gt;
Place this block inside the '''loop''' block.&lt;br /&gt;
&lt;br /&gt;
Loop block repeats the program continuously in a loop.&lt;br /&gt;
|-&lt;br /&gt;
|| Click the '''Sensors''' section and point to lis&lt;br /&gt;
&lt;br /&gt;
Select the '''Button setup''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Point to button setup block&lt;br /&gt;
&lt;br /&gt;
Point to '''pin 2'''&lt;br /&gt;
&lt;br /&gt;
Click on the drop down option and change the PIN 4.&lt;br /&gt;
|| In the left panel, click on the '''Sensors''' section and select the '''Button.'''&lt;br /&gt;
&lt;br /&gt;
Next, select the '''Button setup''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Here we will set up the parameters for the button.&lt;br /&gt;
&lt;br /&gt;
By default the button is connected to '''pin 2''' of the '''Arduino'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''pin dropdown''' and change it to '''pin''' 4.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the '''Button''' section &lt;br /&gt;
&lt;br /&gt;
select the '''button is pressed''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''if''' section of the '''if-then''' block&lt;br /&gt;
&lt;br /&gt;
Point to pin 4 in both the blocks&lt;br /&gt;
|| Again, go to the '''Button''' section.&lt;br /&gt;
&lt;br /&gt;
Select and drag the''' button is pressed''' block to the working area.&lt;br /&gt;
&lt;br /&gt;
Note that''' pin 4''' is set by default as per the''' button setup block'''.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''if''' section of the '''if-then''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only &lt;br /&gt;
&lt;br /&gt;
In the left panel, click on the '''Add-ons''' section and Click on the LED section&lt;br /&gt;
&lt;br /&gt;
Select the first '''Turn a LED ON''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''if-then''' block.&lt;br /&gt;
|| Next we will add an '''LED''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and then Click on '''LED'''.&lt;br /&gt;
&lt;br /&gt;
Select the '''Turn a LED ON''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''if-then''' block.&lt;br /&gt;
|-&lt;br /&gt;
||In the left panel, click on Time section&lt;br /&gt;
&lt;br /&gt;
Select the wait for 0.2 second block&lt;br /&gt;
&lt;br /&gt;
Drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below '''Turn a LED ON'''&lt;br /&gt;
&lt;br /&gt;
Change the time to 1 second&lt;br /&gt;
&lt;br /&gt;
Point to if then block&lt;br /&gt;
&lt;br /&gt;
Narration only&lt;br /&gt;
|| Click the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''wait for 0.2 second''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED ON''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time in the '''wait block''' to 1 second.&lt;br /&gt;
&lt;br /&gt;
We have set up the blocks to execute, '''if''' the button is pressed.&lt;br /&gt;
&lt;br /&gt;
The LED is turned ON for 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on '''Button''' section&lt;br /&gt;
&lt;br /&gt;
Drag and drop '''button is released''' block in the working area.&lt;br /&gt;
&lt;br /&gt;
Place it inside the '''loop''' block&lt;br /&gt;
|| Next we will setup for the Blocks to Turn OFF the LED&lt;br /&gt;
&lt;br /&gt;
Go to the '''Button''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''button is released''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the''' if-then block, '''inside the''' loop blocks.'''&lt;br /&gt;
|-&lt;br /&gt;
|| Right-click on '''LED''' block and select '''Duplicate '''option&lt;br /&gt;
&lt;br /&gt;
Place this block below the button is released block&lt;br /&gt;
&lt;br /&gt;
Change the LED state from ON to OFF&lt;br /&gt;
|| Now, we will need a block to '''turn OFF the LED.'''&lt;br /&gt;
&lt;br /&gt;
Right-click on the''' LED block '''and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
A new '''LED block '''is generated in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''button is released''' block.&lt;br /&gt;
&lt;br /&gt;
'''Change''' the LED state from '''ON''' to '''OFF''' using the dropdown.&lt;br /&gt;
&lt;br /&gt;
This turns the '''LED OFF '''when the button is not pressed.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
&lt;br /&gt;
Right-click on the '''wait for 1 second''' block and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED OFF''' block.&lt;br /&gt;
|| Next, we will add a '''wait block'''.&lt;br /&gt;
&lt;br /&gt;
Right-click on the '''wait for 1 second''' block.&lt;br /&gt;
&lt;br /&gt;
Select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED OFF''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
&lt;br /&gt;
Point to simulation area&lt;br /&gt;
|| We have completed the block creation for this experiment.&lt;br /&gt;
&lt;br /&gt;
Note that the circuit is auto generated on the right side as per the created blocks.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
||On the top tool bar,click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|-&lt;br /&gt;
|| Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Zoom and show the simulation area&lt;br /&gt;
&lt;br /&gt;
Highlight hand symbol and '''pressed''' word&lt;br /&gt;
|| On the top tool bar, click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
A '''hand symbol''' and the word '''&amp;quot;Pressed&amp;quot;''' appear near the push button.&lt;br /&gt;
&lt;br /&gt;
This indicates that the '''push button '''is currently pressed in the simulation.&lt;br /&gt;
&lt;br /&gt;
When the '''button '''is pressed, the '''LED turns ON''' for 1 Second&lt;br /&gt;
&lt;br /&gt;
When the '''button''' is''' “Released” '''the''' hand symbol disappears''', and the '''LED turns OFF'''&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
* Create blocks to control the '''LED''' using a Push Button&lt;br /&gt;
* Check the output of the experiment using the simulator&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an assignment, do the following&lt;br /&gt;
* The LED should be ON continuously.&lt;br /&gt;
* Whenever the push button is pressed, LED should be OFF.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Blink-of-LED/English</id>
		<title>ElectroBlocks/C2/Blink-of-LED/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Blink-of-LED/English"/>
				<updated>2025-10-01T09:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the Script: Blink of LED '''&lt;br /&gt;
&lt;br /&gt;
'''Author: '''Pratik Nemane&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|- &lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Blink of LED''' using '''Electroblocks'''.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives '''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* Blink of an LED in Electroblocks&lt;br /&gt;
* Auto-generated code &lt;br /&gt;
* Output of the experiment using the simulator&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using:&lt;br /&gt;
* '''Ubuntu Linux OS version 22.04 '''&lt;br /&gt;
* '''Google Chrome browser'''&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use '''ElectroBlocks'''. &lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial, learner should have a basic knowledge of&lt;br /&gt;
* Electronics&lt;br /&gt;
|- &lt;br /&gt;
|| '''Type '''&lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the '''ElectroBlocks''' website using '''Chrome '''browser.&lt;br /&gt;
|- &lt;br /&gt;
|| Show the electroblocks '''default '''blocks&lt;br /&gt;
&lt;br /&gt;
Point to right side electroblocks circuit diagram &lt;br /&gt;
|| '''ElectroBlocks '''home''' '''page''' '''displays default''' '''blocks for '''Blink''' of an '''LED '''experiment'''.'''&lt;br /&gt;
&lt;br /&gt;
On the '''right side''', a '''circuit diagram''' is auto-generated for the Blink of an LED.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to LED&lt;br /&gt;
&lt;br /&gt;
Point to simulation area.&lt;br /&gt;
|| In this setup, an '''LED '''is connected to an '''Arduino board'''.&lt;br /&gt;
&lt;br /&gt;
By the end of the experiment, you will see an LED blinking at a specific time interval.&lt;br /&gt;
|- &lt;br /&gt;
|| Zoom the breadboard and point to the rails.&lt;br /&gt;
&lt;br /&gt;
Highlight the cursor area&lt;br /&gt;
&lt;br /&gt;
Point to row in breadboard&lt;br /&gt;
&lt;br /&gt;
Point to breadboard&lt;br /&gt;
&lt;br /&gt;
Point to vertical column of 5 holes&lt;br /&gt;
&lt;br /&gt;
Point to circuit&lt;br /&gt;
|| Let us understand the circuit connection.&lt;br /&gt;
&lt;br /&gt;
The two rails at the top and bottom of the breadboard are called '''power rails'''.&lt;br /&gt;
&lt;br /&gt;
The red rail represents the positive connection and the blue rail is the negative connection.&lt;br /&gt;
&lt;br /&gt;
Each row is connected horizontally.&lt;br /&gt;
&lt;br /&gt;
Positive and''' GND '''connections between''' Arduino '''and''' breadboard''' are already set.&lt;br /&gt;
&lt;br /&gt;
Each vertical column of 5 holes is internally connected.&lt;br /&gt;
&lt;br /&gt;
These rails are called '''terminal rails'''.&lt;br /&gt;
&lt;br /&gt;
The LED is connected to '''Arduino pin 13 '''through a '''resistor.'''&lt;br /&gt;
&lt;br /&gt;
The LED's other leg is connected to '''GND'''.&lt;br /&gt;
|- &lt;br /&gt;
|| Highlight Blocks&lt;br /&gt;
&lt;br /&gt;
Point to default generated blocks&lt;br /&gt;
&lt;br /&gt;
Point to block inside loop block.&lt;br /&gt;
&lt;br /&gt;
Point to Turn LED ON block&lt;br /&gt;
&lt;br /&gt;
Point to Turn LED OFF block&lt;br /&gt;
&lt;br /&gt;
Point to both Wait for 0.2-second block&lt;br /&gt;
|| Let us see the default blocks generated to blink an LED.&lt;br /&gt;
&lt;br /&gt;
The loop block contains four''' blocks''': two '''LED blocks''' and two '''wait blocks'''.&lt;br /&gt;
&lt;br /&gt;
The first''' LED block''' sets '''pin 13 '''to''' ON''', turning the LED on.&lt;br /&gt;
&lt;br /&gt;
The second '''LED block''' sets '''pin 13''' to''' OFF''', turning the LED off.&lt;br /&gt;
&lt;br /&gt;
Each LED block is followed by a '''0.2-second wait block''', creating a delay.&lt;br /&gt;
&lt;br /&gt;
This means the LED will stay '''ON '''for 0.2 seconds, then turns '''OFF''' for 0.2 seconds'''.'''&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the code icon&lt;br /&gt;
&lt;br /&gt;
Highlight the comment section &lt;br /&gt;
|| On the top tool bar, click on the '''Code icon''' to view the automatically generated''' Arduino code'''. &lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the home icon and click the play button&lt;br /&gt;
&lt;br /&gt;
Point to simulation area&lt;br /&gt;
|| On the top toolbar, click on the '''Home icon.'''&lt;br /&gt;
&lt;br /&gt;
Let us click the '''play button''' in the simulation area to simulate the circuit.&lt;br /&gt;
&lt;br /&gt;
Observe the '''LED''' is turning '''ON''' and '''OFF''' with a 0.2 seconds delay.&lt;br /&gt;
|- &lt;br /&gt;
|| Change the pin number in the LED block&lt;br /&gt;
&lt;br /&gt;
Change the LED# in both LED blocks to 10&lt;br /&gt;
&lt;br /&gt;
Point to simulation area.&lt;br /&gt;
|| Now let's modify some parameters in the blocks.&lt;br /&gt;
&lt;br /&gt;
Change the '''LED# '''in both''' LED blocks '''to''' 10''' from the drop down box.&lt;br /&gt;
&lt;br /&gt;
This connects the LED to '''pin 10 '''of the Arduino in the circuit.&lt;br /&gt;
&lt;br /&gt;
Observe the updates in the circuit diagram as we make changes in the blocks.&lt;br /&gt;
|- &lt;br /&gt;
|| Update both '''wait blocks to a 1-second delay.'''&lt;br /&gt;
&lt;br /&gt;
Click on the Code icon&lt;br /&gt;
&lt;br /&gt;
Point to updated code&lt;br /&gt;
|| Let us update both the '''wait blocks''' to a 1-second delay.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Code icon''' to view the updated code.&lt;br /&gt;
&lt;br /&gt;
You will see that the '''LED pin '''has''' '''changed to''' 10.'''&lt;br /&gt;
&lt;br /&gt;
The''' delay is set''' to 1 second.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
Click the '''Play button'''&lt;br /&gt;
&lt;br /&gt;
'''Point to simulation area'''&lt;br /&gt;
|| Click on the '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
In the simulation area, click on the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Observe the '''LED '''blinking with an updated delay of 1 second.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to step by step controls. &lt;br /&gt;
&lt;br /&gt;
Click the '''Previous Step''' button &lt;br /&gt;
&lt;br /&gt;
Click the '''Next Step''' button&lt;br /&gt;
&lt;br /&gt;
Point to yellow outline block in working area&lt;br /&gt;
&lt;br /&gt;
Point to status window and loop changes in simulation area&lt;br /&gt;
|| To view the simulation '''step by step''', use the '''step controls'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''Previous Step''' button to go back to the '''start of Step 1'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''Next Step''' button to move forward through each block.&lt;br /&gt;
&lt;br /&gt;
The currently running block will be highlighted with a yellow outline.&lt;br /&gt;
&lt;br /&gt;
Watch the '''simulation '''steps in the simulation area''' '''and loop progress in the block area.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the '''Download''' icon and select the '''download project.'''&lt;br /&gt;
&lt;br /&gt;
Cursor on '''xml''' file.&lt;br /&gt;
|| Let us see how to save the project.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Download''' icon on the top toolbar and select the '''download project.'''&lt;br /&gt;
&lt;br /&gt;
It will download the '''Blink of LED''' project as an '''xml''' file in the '''Downloads''' folder of your computer.&lt;br /&gt;
|- &lt;br /&gt;
|| Open the xml file.&lt;br /&gt;
&lt;br /&gt;
On the top toolbar, click on '''New file /Blank file '''icon and press '''ok'''.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Projects''' icon and click on choose file.&lt;br /&gt;
&lt;br /&gt;
Choose the .xml file and click on OK.&lt;br /&gt;
&lt;br /&gt;
Point the cursor on all the blocks and code.&lt;br /&gt;
|| Let us open the saved xml file.&lt;br /&gt;
&lt;br /&gt;
On the top toolbar, click on '''New file /Blank file '''icon, and press '''ok''' to create a blank file.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Projects''' icon on the toolbar and click on choose file.&lt;br /&gt;
&lt;br /&gt;
Choose the .xml file that you have downloaded and open the project, click on OK.&lt;br /&gt;
&lt;br /&gt;
You can see all the blocks and code that was generated.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
* Blink of an LED in Electroblocks&lt;br /&gt;
* Auto-generated code &lt;br /&gt;
* Output of the experiment using the simulator&lt;br /&gt;
|| This brings us to the end of this tutorial. &lt;br /&gt;
&lt;br /&gt;
Let’s summarize.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Blink-of-LED/English</id>
		<title>ElectroBlocks/C2/Blink-of-LED/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Blink-of-LED/English"/>
				<updated>2025-10-01T09:16:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the Script: Blink of LED '''&lt;br /&gt;
&lt;br /&gt;
'''Author: '''Pratik Nemane&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|- &lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Blink of LED''' using '''Electroblocks'''.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives '''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* Blink of an LED in Electroblocks&lt;br /&gt;
* Auto-generated code &lt;br /&gt;
* Output of the experiment using the simulator&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using:&lt;br /&gt;
* '''Ubuntu Linux OS version 22.04 '''&lt;br /&gt;
* '''Google Chrome browser'''&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use '''ElectroBlocks'''. &lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial, learner should have a basic knowledge of&lt;br /&gt;
* Electronics&lt;br /&gt;
|- &lt;br /&gt;
|| '''Type '''&lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the '''ElectroBlocks''' website using '''Chrome '''browser.&lt;br /&gt;
|- &lt;br /&gt;
|| Show the electroblocks '''default '''blocks&lt;br /&gt;
&lt;br /&gt;
Point to right side electroblocks circuit diagram &lt;br /&gt;
|| '''ElectroBlocks '''home''' '''page''' '''displays default''' '''blocks for '''Blink''' of an '''LED '''experiment'''.'''&lt;br /&gt;
&lt;br /&gt;
On the '''right side''', a '''circuit diagram''' is auto-generated for the Blink of an LED.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to LED&lt;br /&gt;
&lt;br /&gt;
Point to simulation area.&lt;br /&gt;
|| In this setup, an '''LED '''is connected to an '''Arduino board'''.&lt;br /&gt;
&lt;br /&gt;
By the end of the experiment, you will see an LED blinking at a specific time interval.&lt;br /&gt;
|- &lt;br /&gt;
|| Zoom the breadboard and point to the rails.&lt;br /&gt;
&lt;br /&gt;
Highlight the cursor area&lt;br /&gt;
&lt;br /&gt;
Point to row in breadboard&lt;br /&gt;
&lt;br /&gt;
Point to breadboard&lt;br /&gt;
&lt;br /&gt;
Point to vertical column of 5 holes&lt;br /&gt;
&lt;br /&gt;
Point to circuit&lt;br /&gt;
|| Let us understand the circuit connection.&lt;br /&gt;
&lt;br /&gt;
The two rails at the top and bottom of the breadboard are called '''power rails'''.&lt;br /&gt;
&lt;br /&gt;
The red rail represents the positive connection and the blue rail is the negative connection.&lt;br /&gt;
&lt;br /&gt;
Each row is connected horizontally.&lt;br /&gt;
&lt;br /&gt;
Positive and''' GND '''connections between''' Arduino '''and''' breadboard''' are already set.&lt;br /&gt;
&lt;br /&gt;
Each vertical column of 5 holes is internally connected.&lt;br /&gt;
&lt;br /&gt;
These rails are called '''terminal rails'''.&lt;br /&gt;
&lt;br /&gt;
The LED is connected to '''Arduino pin 13 '''through a '''resistor.'''&lt;br /&gt;
&lt;br /&gt;
The LED's other leg is connected to '''GND'''.&lt;br /&gt;
|- &lt;br /&gt;
|| Highlight Blocks&lt;br /&gt;
&lt;br /&gt;
Point to default generated blocks&lt;br /&gt;
&lt;br /&gt;
Point to block inside loop block.&lt;br /&gt;
&lt;br /&gt;
Point to Turn LED ON block&lt;br /&gt;
&lt;br /&gt;
Point to Turn LED OFF block&lt;br /&gt;
&lt;br /&gt;
Point to both Wait for 0.2-second block&lt;br /&gt;
|| Let us see the default blocks generated to blink an LED.&lt;br /&gt;
&lt;br /&gt;
The loop block contains four''' blocks''': two '''LED blocks''' and two '''wait blocks'''.&lt;br /&gt;
&lt;br /&gt;
The first''' LED block''' sets '''pin 13 '''to''' ON''', turning the LED on.&lt;br /&gt;
&lt;br /&gt;
The second '''LED block''' sets '''pin 13''' to''' OFF''', turning the LED off.&lt;br /&gt;
&lt;br /&gt;
Each LED block is followed by a '''0.2-second wait block''', creating a delay.&lt;br /&gt;
&lt;br /&gt;
This means the LED will stay '''ON '''for 0.2 seconds, then turns '''OFF''' for 0.2 seconds'''.'''&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the code icon&lt;br /&gt;
&lt;br /&gt;
Highlight the comment section &lt;br /&gt;
|| On the top tool bar, click on the '''Code icon''' to view the automatically generated''' Arduino code'''. &lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the home icon and click the play button&lt;br /&gt;
&lt;br /&gt;
Point to simulation area&lt;br /&gt;
|| On the top toolbar, click on the '''Home icon.'''&lt;br /&gt;
&lt;br /&gt;
Let us click the '''play button''' to simulate the circuit.&lt;br /&gt;
&lt;br /&gt;
Observe the '''LED''' is turning '''ON''' and '''OFF''' with a 0.2 seconds delay.&lt;br /&gt;
|- &lt;br /&gt;
|| Change the pin number in the LED block&lt;br /&gt;
&lt;br /&gt;
Change the LED# in both LED blocks to 10&lt;br /&gt;
&lt;br /&gt;
Point to simulation area.&lt;br /&gt;
|| Now let's modify some parameters in the blocks.&lt;br /&gt;
&lt;br /&gt;
Change the '''LED# '''in both''' LED blocks '''to''' 10''' from the drop down box.&lt;br /&gt;
&lt;br /&gt;
This connects the LED to '''pin 10 '''of the Arduino in the circuit.&lt;br /&gt;
&lt;br /&gt;
Observe the updates in the circuit diagram as we make changes in the blocks.&lt;br /&gt;
|- &lt;br /&gt;
|| Update both '''wait blocks to a 1-second delay.'''&lt;br /&gt;
&lt;br /&gt;
Click on the Code icon&lt;br /&gt;
&lt;br /&gt;
Point to updated code&lt;br /&gt;
|| Let us update both the '''wait blocks''' to a 1-second delay.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Code icon''' to view the updated code.&lt;br /&gt;
&lt;br /&gt;
You will see that the '''LED pin '''has''' '''changed to''' 10.'''&lt;br /&gt;
&lt;br /&gt;
The''' delay is set''' to 1 second.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
Click the '''Play button'''&lt;br /&gt;
&lt;br /&gt;
'''Point to simulation area'''&lt;br /&gt;
|| Click on the '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
In the simulation area, click on the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Observe the '''LED '''blinking with an updated delay of 1 second.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to step by step controls. &lt;br /&gt;
&lt;br /&gt;
Click the '''Previous Step''' button &lt;br /&gt;
&lt;br /&gt;
Click the '''Next Step''' button&lt;br /&gt;
&lt;br /&gt;
Point to yellow outline block in working area&lt;br /&gt;
&lt;br /&gt;
Point to status window and loop changes in simulation area&lt;br /&gt;
|| To view the simulation '''step by step''', use the '''step controls'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''Previous Step''' button to go back to the '''start of Step 1'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''Next Step''' button to move forward through each block.&lt;br /&gt;
&lt;br /&gt;
The currently running block will be highlighted with a yellow outline.&lt;br /&gt;
&lt;br /&gt;
Watch the '''simulation '''steps in the simulation area''' '''and loop progress in the block area.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the '''Download''' icon and select the '''download project.'''&lt;br /&gt;
&lt;br /&gt;
Cursor on '''xml''' file.&lt;br /&gt;
|| Let us see how to save the project.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Download''' icon on the top toolbar and select the '''download project.'''&lt;br /&gt;
&lt;br /&gt;
It will download the '''Blink of LED''' project as an '''xml''' file in the '''Downloads''' folder of your computer.&lt;br /&gt;
|- &lt;br /&gt;
|| Open the xml file.&lt;br /&gt;
&lt;br /&gt;
On the top toolbar, click on '''New file /Blank file '''icon and press '''ok'''.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Projects''' icon and click on choose file.&lt;br /&gt;
&lt;br /&gt;
Choose the .xml file and click on OK.&lt;br /&gt;
&lt;br /&gt;
Point the cursor on all the blocks and code.&lt;br /&gt;
|| Let us open the saved xml file.&lt;br /&gt;
&lt;br /&gt;
Click on '''New file /Blank file '''icon on the top toolbar, and press '''ok''' to create a blank file.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Projects''' icon on the toolbar and click on choose file.&lt;br /&gt;
&lt;br /&gt;
Choose the .xml file that you have downloaded and open the project, click on OK.&lt;br /&gt;
&lt;br /&gt;
You can see all the blocks and code that was generated.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
* Blink of an LED in Electroblocks&lt;br /&gt;
* Auto-generated code &lt;br /&gt;
* Output of the experiment using the simulator&lt;br /&gt;
|| This brings us to the end of this tutorial. &lt;br /&gt;
&lt;br /&gt;
Let’s summarize.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Borrowing/English</id>
		<title>Rust-Programming-Language/C2/Borrowing/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Borrowing/English"/>
				<updated>2025-09-26T09:55:38Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing in Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Borrowing and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rules of borrowing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | To record this tutorial I’m using the follwoing setup&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; link of this tutorial page.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let us learn about borrowing.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Borrowing is the act of creating references to data without taking ownership&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When we borrow a value, we reference its memory address with the &amp;amp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7 : '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing - Example'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;hello&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s1 = &amp;amp;s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Here &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s’'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; owns the string “&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;”&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s1'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;’ borrows ‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;’ by reference denoted by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;amp;s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;. &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;But &amp;lt;/span&amp;gt;ownership&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; of the string is still with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s1 '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is only allowed to read the data&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will point to the data, making it an immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Next we will see about rules of borrowing&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8: &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rules of borrowing:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1. Any number of Immutable references to a data&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You can have any number of immutable references to a data at the same time.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Immutable references do not allow modification of the data.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Any number of read operations are &amp;lt;/span&amp;gt;safe,&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;but &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;write &amp;lt;/span&amp;gt;operations are not&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; allowed.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us understand with an example.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new borrow'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; borrow'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new borrow '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Code file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let a = String::from(&amp;quot;Hello world&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let b = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let c = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let d = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, b);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, c);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, d);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''b, c, d '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;are assigned with an immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''a'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When you try to print them, there won't be any errors.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It &amp;lt;/span&amp;gt;allows multiple&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; immutable references to a piece of data simultaneously.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;utput shows, variable &amp;lt;/span&amp;gt;'''a'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; can have &amp;lt;/span&amp;gt;multiple &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;immutable references.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slid&amp;lt;/span&amp;gt;e 9&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;: Rules of borrowing:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;2. Only 1 mutable reference to a data&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | The second rule states that you can have only one mutable reference to a data.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see an example. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the previous code. Copy paste the code from the &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r2 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;World&amp;quot;); r2.push_str(&amp;quot;Rust&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r2);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, the mutable variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is assigned to a string object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables r1, r2 are assigned with a mutable reference to s.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When both the references try to modify the data, rust wont allow this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will lead to a data race, where the data gets corrupted.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//let r2 = &amp;amp;mut s;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;world&amp;quot;); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//r2.push_str(&amp;quot;Rust&amp;quot;);'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//println!(&amp;quot;{}&amp;quot;,r2);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Run the code and check the error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us &amp;lt;/span&amp;gt;comment the code, related to the second&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; mutable reference.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 10:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rules of Borrowing: The third Rule:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;cannot mix&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' mutable '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' immutable references '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to the same data at the same time.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us understand through an example.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the &amp;lt;/span&amp;gt;'''C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r2 = &amp;amp;s;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;Rust&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Mutable variable&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;''' s '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;is assigned to a string object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Here &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''r1 is '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;assigned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;a mutable reference to s. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;And&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;''' &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;r2'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;an immutable&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One reference tries to modify the data while another reference tries to read data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will lead to corrupt data because the reference didn’t get out of scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It still has the mutable reference and may change the data in the scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Comment the &amp;lt;/span&amp;gt;line of &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hence rust doesn't allow you to break all the above 3 rules.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Next we will see how dangling references occur and how Rust prevents them.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;Let us understand with an example.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;Copy and paste the code from the code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn get_reference() -&amp;gt; &amp;amp;String {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello, Rust!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;s // ❌ Error: `s` is dropped at the end of this function&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} // `s` goes out of scope here, but we're trying to return a reference to it&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r = get_reference(); // Trying to use a reference to `s`, but `s` is already dropped&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, r);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''get_reference(),'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; we create a String named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the next line, it returns &amp;lt;/span&amp;gt;a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; reference to that string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When the function ends, s goes &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;out of scope, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and its heap memory is freed.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;we are trying to return a reference to t&amp;lt;/span&amp;gt;his&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; freed memory.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hence, we will get an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When we try to run the main function, it &amp;lt;/span&amp;gt;l&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;eads to an invalid memory.&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''dangling reference'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program&amp;lt;/span&amp;gt;.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us run the program and check the error.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn get_reference() -&amp;gt; String {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let s = String::from(&amp;quot;Hello, Rust!&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s // ownership is moved out safely'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''} '''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let's see h&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ow to correct this program?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us modify the program to return &amp;lt;/span&amp;gt;a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; value not the reference.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Remove the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' &amp;amp;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Now run the program and see the result.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn main() {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let fruit1 = String::from(&amp;quot;Apple&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let fruit2 = fruit1; '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;fruit1 = {}&amp;quot;, fruit1); '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;fruit2 = {}&amp;quot;, fruit2);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
&lt;br /&gt;
Run the above code and fix the error.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 9 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Borrowing/English</id>
		<title>Rust-Programming-Language/C2/Borrowing/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Borrowing/English"/>
				<updated>2025-09-26T09:49:03Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing in Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Borrowing and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rules of borrowing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | To record this tutorial I’m using the follwoing setup&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; link of this tutorial page.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let us learn about borrowing.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Borrowing is the act of creating references to data without taking ownership&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When we borrow a value, we reference its memory address with the &amp;amp; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7 : '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Borrowing - Example'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;hello&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s1 = &amp;amp;s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Here &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s’'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; owns the string “&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;”&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s1'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;’ borrows ‘&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;’ by reference denoted by &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;amp;s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;. &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;But &amp;lt;/span&amp;gt;ownership&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; of the string is still with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s1 '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is only allowed to read the data&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will point to the data, making it an immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Next we will see about rules of borrowing&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8: &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rules of borrowing:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1. Any number of Immutable references to a data&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You can have any number of immutable references to a data at the same time.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Immutable references do not allow modification of the data.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Any number of read operations are &amp;lt;/span&amp;gt;safe,&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;but &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;write &amp;lt;/span&amp;gt;operations are not&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; allowed.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us understand with an example.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new borrow'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; borrow'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new borrow '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Code file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let a = String::from(&amp;quot;Hello world&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let b = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let c = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let d = &amp;amp;a;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, b);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, c);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, d);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''b, c, d '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;are assigned with an immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''a'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When you try to print them, there won't be any errors.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It &amp;lt;/span&amp;gt;allows multiple&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; immutable references to a piece of data simultaneously.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;utput shows, variable &amp;lt;/span&amp;gt;'''a'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; can have &amp;lt;/span&amp;gt;multiple &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;immutable references.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slid&amp;lt;/span&amp;gt;e 9&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;: Rules of borrowing:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;2. Only 1 mutable reference to a data&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | The second rule states that you can have only one mutable reference to a data.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see an example. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the previous code. Copy paste the code from the &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r2 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;World&amp;quot;); r2.push_str(&amp;quot;Rust&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r2);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, the mutable variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is assigned to a string object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables r1, r2 are assigned with a mutable reference to s.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When both the references try to modify the data, rust wont allow this.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will lead to a data race, where the data gets corrupted.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//let r2 = &amp;amp;mut s;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;world&amp;quot;); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//r2.push_str(&amp;quot;Rust&amp;quot;);'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//println!(&amp;quot;{}&amp;quot;,r2);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Run the code and check the error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us &amp;lt;/span&amp;gt;comment the code, related to the second&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; mutable reference.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 10:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rules of Borrowing: The third Rule:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;cannot mix&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' mutable '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' immutable references '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to the same data at the same time.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us understand through an example.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the &amp;lt;/span&amp;gt;'''C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello &amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r1 = &amp;amp;mut s;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''//&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r2 = &amp;amp;s;'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;r1.push_str(&amp;quot;Rust&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, r1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Mutable variable&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;''' s '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;is assigned to a string object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Here &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''r1 is '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;assigned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;a mutable reference to s. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;And&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;''' &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;r2'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;an immutable&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One reference tries to modify the data while another reference tries to read data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It will lead to corrupt data because the reference didn’t get out of scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It still has the mutable reference and may change the data in the scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Comment the &amp;lt;/span&amp;gt;line of &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;immutable reference to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hence rust doesn't allow you to break all the above 3 rules.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Next we will see how dangling references occur and how Rust prevents them.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;Let us understand with an example.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;Copy and paste the code from the code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn get_reference() -&amp;gt; &amp;amp;String {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello, Rust!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;s // ❌ Error: `s` is dropped at the end of this function&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} // `s` goes out of scope here, but we're trying to return a reference to it&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let r = get_reference(); // Trying to use a reference to `s`, but `s` is already dropped&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, r);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''get_reference(),'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; we create a String named &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the next line, it returns &amp;lt;/span&amp;gt;a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; reference to that string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When the function ends, s goes &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;out of scope, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and its heap memory is freed.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;we are trying to return a reference to t&amp;lt;/span&amp;gt;his&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; freed memory.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Hence, we will get an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When we try to run the main function, it &amp;lt;/span&amp;gt;l&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;eads to an invalid memory.&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''dangling reference'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program&amp;lt;/span&amp;gt;.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us run the program and check the error.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn get_reference() -&amp;gt; String {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let s = String::from(&amp;quot;Hello, Rust!&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s // ownership is moved out safely'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''} '''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let's see h&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ow to correct this program?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us modify the program to return &amp;lt;/span&amp;gt;a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; value not the reference.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Remove the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' &amp;amp;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Now run the program and see the result.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn main() {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let fruit1 = String::from(&amp;quot;Apple&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let fruit2 = fruit1; '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;fruit1 = {}&amp;quot;, fruit1); '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;fruit2 = {}&amp;quot;, fruit2);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
&lt;br /&gt;
Run the above code and fix the error.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 9 '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Control-LED-with-Push-Button/English</id>
		<title>ElectroBlocks/C2/Control-LED-with-Push-Button/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Control-LED-with-Push-Button/English"/>
				<updated>2025-09-25T07:53:58Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the Script: Control LED with Push button'''&lt;br /&gt;
&lt;br /&gt;
'''Author: '''Pratik Bhosale&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Control LED with Push Button''' using '''Electroblocks'''.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn how to&lt;br /&gt;
* Create blocks to control the '''LED''' using a Push Button&lt;br /&gt;
* Check the output of the experiment using the simulator&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using:&lt;br /&gt;
* '''Ubuntu Linux OS version 22.04 '''&lt;br /&gt;
* '''Google Chrome browser'''&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use '''Electroblocks'''. &lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial, Learner should have a basic knowledge of&lt;br /&gt;
* Electroblocks&lt;br /&gt;
|-&lt;br /&gt;
|| '''Type '''&lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the''' ElectroBlocks''' website using '''Chrome''' browser.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the New''' File/Blank''' File option.&lt;br /&gt;
&lt;br /&gt;
A '''pop-up window''' will appear—click '''OK''' to proceed.&lt;br /&gt;
&lt;br /&gt;
Point to loop block&lt;br /&gt;
|| Click on the '''New File/Blank''' '''File '''option to create a new circuit.&lt;br /&gt;
&lt;br /&gt;
Click '''OK''' in the popup window to proceed .&lt;br /&gt;
&lt;br /&gt;
We can see a '''loop''' block by default.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Show Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
'''LED_ON.png'''&lt;br /&gt;
&lt;br /&gt;
'''LED_OFF.png'''&lt;br /&gt;
&lt;br /&gt;
Point to the push button in the circuit diagram&lt;br /&gt;
|| This is the circuit diagram of '''Control LED with Push Button'''.&lt;br /&gt;
&lt;br /&gt;
If the push button is pressed, the '''LED turns ON''' and waits for one second.&lt;br /&gt;
&lt;br /&gt;
If the push button is released, the''' LED turns OFF '''and waits for one second.&lt;br /&gt;
&lt;br /&gt;
Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Required Section'''&lt;br /&gt;
|| We need the various blocks from the below section for this experiment.&lt;br /&gt;
* Logic&lt;br /&gt;
* Button&lt;br /&gt;
* LED&lt;br /&gt;
* Time&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|| Switch back to the '''Electroblock''' interface.&lt;br /&gt;
&lt;br /&gt;
|| Switch back to the '''Electroblock''' interface.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Keep the loop block in the middle area (compulsory)'''&lt;br /&gt;
&lt;br /&gt;
Click on the Logic section&lt;br /&gt;
&lt;br /&gt;
Point to if-then- blockDrag and drop the block in working area&lt;br /&gt;
&lt;br /&gt;
Place the if-then block in the loop section.&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''if-then''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
The '''if-then block''' is used to make decisions in your program.&lt;br /&gt;
&lt;br /&gt;
Place this block inside the '''loop''' block.&lt;br /&gt;
&lt;br /&gt;
Loop block repeats the program continuously in a loop.&lt;br /&gt;
|-&lt;br /&gt;
|| Click the '''Sensors''' section and point to lis&lt;br /&gt;
&lt;br /&gt;
Select the '''Button setup''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Point to button setup block&lt;br /&gt;
&lt;br /&gt;
Point to '''pin 2'''&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option and change the PIN 4.&lt;br /&gt;
|| Click on the '''Sensors''' section and select the '''Button.'''&lt;br /&gt;
&lt;br /&gt;
Next, select the '''Button setup''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Here we will set up the parameters for the button.&lt;br /&gt;
&lt;br /&gt;
By default the button is connected to '''pin 2''' of the '''Arduino'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''pin dropdown''' and change it to '''pin''' 4.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the '''Button''' section &lt;br /&gt;
&lt;br /&gt;
select the '''button is pressed''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''if''' section of the '''if-then''' block&lt;br /&gt;
&lt;br /&gt;
Point to pin 4 in both the blocks&lt;br /&gt;
|| Again, go to the '''Button''' section.&lt;br /&gt;
&lt;br /&gt;
Select and drag the''' button is pressed''' block to the working area.&lt;br /&gt;
&lt;br /&gt;
Note that''' pin 4''' is set by default as per the''' button setup block'''.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''if''' section of the '''if-then''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only &lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and Click on the LED section&lt;br /&gt;
&lt;br /&gt;
Select the first '''Turn a LED ON''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''if-then''' block.&lt;br /&gt;
|| Next we will add an '''LED''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and then Click on '''LED'''.&lt;br /&gt;
&lt;br /&gt;
Select the '''Turn a LED ON''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''if-then''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on Time section&lt;br /&gt;
&lt;br /&gt;
Select the wait for 0.2 second block&lt;br /&gt;
&lt;br /&gt;
Drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below '''Turn a LED ON'''&lt;br /&gt;
&lt;br /&gt;
Change the time to 1 second&lt;br /&gt;
&lt;br /&gt;
Point to if then block&lt;br /&gt;
&lt;br /&gt;
Narration only&lt;br /&gt;
|| Click the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''wait for 0.2 second''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED ON''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time in the '''wait block''' to 1 second.&lt;br /&gt;
&lt;br /&gt;
We have set up the blocks to execute, '''if''' the button is pressed.&lt;br /&gt;
&lt;br /&gt;
The LED is turned ON for 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on '''Button''' section&lt;br /&gt;
&lt;br /&gt;
Drag and drop '''button is released''' block in the working area.&lt;br /&gt;
&lt;br /&gt;
Place it inside the '''loop''' block&lt;br /&gt;
|| Next we will setup for the Blocks to Turn OFF the LED&lt;br /&gt;
&lt;br /&gt;
Go to the '''Button''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''button is released''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the''' if-then block, '''inside the''' loop blocks.'''&lt;br /&gt;
|-&lt;br /&gt;
|| Right-click on '''LED''' block and select '''Duplicate '''option&lt;br /&gt;
&lt;br /&gt;
Place this block below the button is released block&lt;br /&gt;
&lt;br /&gt;
Change the LED state from ON to OFF&lt;br /&gt;
|| Now, we will need a block to '''turn OFF the LED.'''&lt;br /&gt;
&lt;br /&gt;
Right-click on the''' LED block '''and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
A new '''LED block '''is generated in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''button is released''' block.&lt;br /&gt;
&lt;br /&gt;
'''Change''' the LED state from '''ON''' to '''OFF''' using the dropdown.&lt;br /&gt;
&lt;br /&gt;
This turns the '''LED OFF '''when the button is not pressed.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
&lt;br /&gt;
Right-click on the '''wait for 1 second''' block and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED OFF''' block.&lt;br /&gt;
|| Next, we will add a '''wait block'''.&lt;br /&gt;
&lt;br /&gt;
Right-click on the '''wait for 1 second''' block.&lt;br /&gt;
&lt;br /&gt;
Select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED OFF''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
&lt;br /&gt;
Point to simulation area&lt;br /&gt;
|| We have completed the block creation for this experiment.&lt;br /&gt;
&lt;br /&gt;
Note that the circuit is auto generated on the right side as per the created blocks.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|-&lt;br /&gt;
|| Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Zoom and show the simulation area&lt;br /&gt;
&lt;br /&gt;
Highlight hand symbol and '''pressed''' word&lt;br /&gt;
|| Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
A '''hand symbol''' and the word '''&amp;quot;Pressed&amp;quot;''' appear near the push button.&lt;br /&gt;
&lt;br /&gt;
This indicates that the '''push button '''is currently pressed in the simulation.&lt;br /&gt;
&lt;br /&gt;
When the '''button '''is pressed, the '''LED turns ON''' for 1 Second&lt;br /&gt;
&lt;br /&gt;
When the '''button''' is''' “Released” '''the''' hand symbol disappears''', and the '''LED turns OFF'''&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
* Create blocks to control the '''LED''' using a Push Button&lt;br /&gt;
* Check the output of the experiment using the simulator&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an assignment, do the following&lt;br /&gt;
* The LED should be ON continuously.&lt;br /&gt;
* Whenever the push button is pressed, LED should be OFF.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Control-LED-with-Push-Button/English</id>
		<title>ElectroBlocks/C2/Control-LED-with-Push-Button/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Control-LED-with-Push-Button/English"/>
				<updated>2025-09-25T07:44:06Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;'''Title of the Script: Control LED with Push button'''  '''Author: '''Pratik Bhosale  '''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.  {|border...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the Script: Control LED with Push button'''&lt;br /&gt;
&lt;br /&gt;
'''Author: '''Pratik Bhosale&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Control LED with Push Button''' using '''Electroblocks'''.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn how to&lt;br /&gt;
* Create blocks to control the '''LED''' using a Push Button&lt;br /&gt;
* Check the output of the experiment using the simulator&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using:&lt;br /&gt;
* '''Ubuntu Linux OS version 22.04 '''&lt;br /&gt;
* '''Google Chrome browser'''&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use '''Electroblocks'''. &lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial, Learner should have a basic knowledge of&lt;br /&gt;
* Electroblocks&lt;br /&gt;
|-&lt;br /&gt;
|| '''Type '''&lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the''' ElectroBlocks''' website using '''Chrome''' browser.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the New''' File/Blank''' File option.&lt;br /&gt;
&lt;br /&gt;
A '''pop-up window''' will appear—click '''OK''' to proceed.&lt;br /&gt;
&lt;br /&gt;
Point to loop block&lt;br /&gt;
|| Click on the '''New File/Blank''' '''File '''option to create a new circuit.&lt;br /&gt;
&lt;br /&gt;
Click '''OK''' in the popup window to proceed .&lt;br /&gt;
&lt;br /&gt;
We can see a '''loop''' block by default.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Show Circuit Diagram.png'''&lt;br /&gt;
&lt;br /&gt;
'''LED_ON.png'''&lt;br /&gt;
&lt;br /&gt;
'''LED_OFF.png'''&lt;br /&gt;
&lt;br /&gt;
Point to the push button in the circuit diagram&lt;br /&gt;
|| This is the circuit diagram of '''Control LED with Push Button'''.&lt;br /&gt;
&lt;br /&gt;
If the push button is pressed, the '''LED turns ON''' and waits for one second.&lt;br /&gt;
&lt;br /&gt;
If the push button is released, the''' LED turns OFF '''and waits for one second.&lt;br /&gt;
&lt;br /&gt;
Let us build this circuit using''' ElectroBlocks'''.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Required Section'''&lt;br /&gt;
|| We need the various blocks from the below section for this experiment.&lt;br /&gt;
* Logic&lt;br /&gt;
* Button&lt;br /&gt;
* LED&lt;br /&gt;
* Time&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|| Switch back to the '''Electroblock''' interface.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Keep the loop block in the middle area (compulsory)'''&lt;br /&gt;
&lt;br /&gt;
Click on the Logic section&lt;br /&gt;
&lt;br /&gt;
Point to if-then- blockDrag and drop the block in working area&lt;br /&gt;
&lt;br /&gt;
Place the if-then block in the loop section.&lt;br /&gt;
|| Click on the '''Logic''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''if-then''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
The '''if-then block''' is used to make decisions in your program.&lt;br /&gt;
&lt;br /&gt;
Place this block inside the '''loop''' block.&lt;br /&gt;
&lt;br /&gt;
Loop block repeats the program continuously in a loop.&lt;br /&gt;
|-&lt;br /&gt;
|| Click the '''Sensors''' section and point to lis&lt;br /&gt;
&lt;br /&gt;
Select the '''Button setup''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Point to button setup block&lt;br /&gt;
&lt;br /&gt;
Point to '''pin 2'''&lt;br /&gt;
&lt;br /&gt;
Click on the dropdown option and change the PIN 4.&lt;br /&gt;
|| Click on the '''Sensors''' section and select the '''Button.'''&lt;br /&gt;
&lt;br /&gt;
Next, select the '''Button setup''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Here we will set up the parameters for the button.&lt;br /&gt;
&lt;br /&gt;
By default the button is connected to '''pin 2''' of the '''Arduino'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''pin dropdown''' and change it to '''pin''' 4.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the '''Button''' section &lt;br /&gt;
&lt;br /&gt;
select the '''button is pressed''' block.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''if''' section of the '''if-then''' block&lt;br /&gt;
&lt;br /&gt;
Point to pin 4 in both the blocks&lt;br /&gt;
|| Again, go to the '''Button''' section.&lt;br /&gt;
&lt;br /&gt;
Select and drag the''' button is pressed''' block to the working area.&lt;br /&gt;
&lt;br /&gt;
Note that''' pin 4''' is set by default as per the''' button setup block'''.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''if''' section of the '''if-then''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only &lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and Click on the LED section&lt;br /&gt;
&lt;br /&gt;
Select the first '''Turn a LED ON''' block and drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''if-then''' block.&lt;br /&gt;
|| Next we will add an '''LED''' block.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Add-ons''' section and then Click on '''LED'''.&lt;br /&gt;
&lt;br /&gt;
Select the '''Turn a LED ON''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block in the '''then''' section of the '''if-then''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on Time section&lt;br /&gt;
&lt;br /&gt;
Select the wait for 0.2 second block&lt;br /&gt;
&lt;br /&gt;
Drag it in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below '''Turn a LED ON'''&lt;br /&gt;
&lt;br /&gt;
Change the time to 1 second&lt;br /&gt;
&lt;br /&gt;
Point to if then block&lt;br /&gt;
&lt;br /&gt;
Narration only&lt;br /&gt;
|| Click the '''Time''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''wait for 0.2 second''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED ON''' block.&lt;br /&gt;
&lt;br /&gt;
Change the time in the '''wait block''' to 1 second.&lt;br /&gt;
&lt;br /&gt;
We have set up the blocks to execute, '''if''' the button is pressed.&lt;br /&gt;
&lt;br /&gt;
The LED is turned ON for 1 second.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on '''Button''' section&lt;br /&gt;
&lt;br /&gt;
Drag and drop '''button is released''' block in the working area.&lt;br /&gt;
&lt;br /&gt;
Place it inside the '''loop''' block&lt;br /&gt;
|| Next we will setup for the Blocks to Turn OFF the LED&lt;br /&gt;
&lt;br /&gt;
Go to the '''Button''' section.&lt;br /&gt;
&lt;br /&gt;
Select the '''button is released''' block and drag it to the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the''' if-then block, '''inside the''' loop blocks.'''&lt;br /&gt;
|-&lt;br /&gt;
|| Right-click on '''LED''' block and select '''Duplicate '''option&lt;br /&gt;
&lt;br /&gt;
Place this block below the button is released block&lt;br /&gt;
&lt;br /&gt;
Change the LED state from ON to OFF&lt;br /&gt;
|| Now, we will need a block to '''turn OFF the LED.'''&lt;br /&gt;
&lt;br /&gt;
Right-click on the''' LED block '''and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
A new '''LED block '''is generated in the working area.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''button is released''' block.&lt;br /&gt;
&lt;br /&gt;
'''Change''' the LED state from '''ON''' to '''OFF''' using the dropdown.&lt;br /&gt;
&lt;br /&gt;
This turns the '''LED OFF '''when the button is not pressed.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
&lt;br /&gt;
Right-click on the '''wait for 1 second''' block and select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED OFF''' block.&lt;br /&gt;
|| Next, we will add a '''wait block'''.&lt;br /&gt;
&lt;br /&gt;
Right-click on the '''wait for 1 second''' block.&lt;br /&gt;
&lt;br /&gt;
Select the '''Duplicate''' option.&lt;br /&gt;
&lt;br /&gt;
Place this block below the '''Turn a LED OFF''' block.&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
&lt;br /&gt;
Point to simulation area&lt;br /&gt;
|| We have completed the block creation for this experiment.&lt;br /&gt;
&lt;br /&gt;
Note that the circuit is auto generated on the right side as per the created blocks.&lt;br /&gt;
|-&lt;br /&gt;
|| Click on the '''Code''' icon to view the auto-generated Arduino code for the experiment.&lt;br /&gt;
&lt;br /&gt;
Highlight the code on right side&lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''.&lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|-&lt;br /&gt;
|| Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Zoom and show the simulation area&lt;br /&gt;
&lt;br /&gt;
Highlight hand symbol and '''pressed''' word&lt;br /&gt;
|| Click the '''Home''' icon and press the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
A '''hand symbol''' and the word '''&amp;quot;Pressed&amp;quot;''' appear near the push button.&lt;br /&gt;
&lt;br /&gt;
This indicates that the '''push button '''is currently pressed in the simulation.&lt;br /&gt;
&lt;br /&gt;
When the '''button '''is pressed, the '''LED turns ON''' for 1 Second&lt;br /&gt;
&lt;br /&gt;
When the '''button''' is''' “Released” '''the''' hand symbol disappears''', and the '''LED turns OFF'''&lt;br /&gt;
|-&lt;br /&gt;
|| Narration only&lt;br /&gt;
|| The '''XML '''file of this experiment is provided in the code files for your reference.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
* Create blocks to control the '''LED''' using a Push Button&lt;br /&gt;
* Check the output of the experiment using the simulator&lt;br /&gt;
|| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an assignment, do the following&lt;br /&gt;
* The LED should be ON continuously.&lt;br /&gt;
* Whenever the push button is pressed, LED should be OFF.&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Blink-of-LED/English</id>
		<title>ElectroBlocks/C2/Blink-of-LED/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/ElectroBlocks/C2/Blink-of-LED/English"/>
				<updated>2025-09-24T10:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;'''Title of the Script: Blink of LED '''  '''Author: '''Pratik Nemane  '''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.  {|border=1 |-  || '''Vis...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Title of the Script: Blink of LED '''&lt;br /&gt;
&lt;br /&gt;
'''Author: '''Pratik Nemane&lt;br /&gt;
&lt;br /&gt;
'''Keywords: '''Electroblocks, Arduino, LED block, Time block, video tutorial.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|- &lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
&lt;br /&gt;
'''Title Slide'''&lt;br /&gt;
|| Welcome to the '''Spoken Tutorial''' on '''Blink of LED''' using '''Electroblocks'''.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives '''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* Blink of an LED in Electroblocks&lt;br /&gt;
* Auto-generated code &lt;br /&gt;
* Output of the experiment using the simulator&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System requirement'''&lt;br /&gt;
|| To record this tutorial, I am using:&lt;br /&gt;
* '''Ubuntu Linux OS version 22.04 '''&lt;br /&gt;
* '''Google Chrome browser'''&lt;br /&gt;
&lt;br /&gt;
A working internet connection to use '''ElectroBlocks'''. &lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial, learner should have a basic knowledge of&lt;br /&gt;
* Electronics&lt;br /&gt;
|- &lt;br /&gt;
|| '''Type '''&lt;br /&gt;
&lt;br /&gt;
'''https://electroblocks.org/'''&lt;br /&gt;
|| Let us open the '''ElectroBlocks''' website using '''Chrome '''browser.&lt;br /&gt;
|- &lt;br /&gt;
|| Show the electroblocks '''default '''blocks&lt;br /&gt;
&lt;br /&gt;
Point to right side electroblocks circuit diagram &lt;br /&gt;
|| '''ElectroBlocks '''home''' '''page''' '''displays default''' '''blocks for '''Blink''' of an '''LED '''experiment'''.'''&lt;br /&gt;
&lt;br /&gt;
On the '''right side''', a '''circuit diagram''' is auto-generated for the Blink of an LED.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to LED&lt;br /&gt;
&lt;br /&gt;
Point to simulation area.&lt;br /&gt;
|| In this setup, an '''LED '''is connected to an '''Arduino board'''.&lt;br /&gt;
&lt;br /&gt;
By the end of the experiment, you will see an LED blinking at a specific time interval.&lt;br /&gt;
|- &lt;br /&gt;
|| Zoom the breadboard and point to the rails.&lt;br /&gt;
&lt;br /&gt;
Highlight the cursor area&lt;br /&gt;
&lt;br /&gt;
Point to row in breadboard&lt;br /&gt;
&lt;br /&gt;
Point to breadboard&lt;br /&gt;
&lt;br /&gt;
Point to vertical column of 5 holes&lt;br /&gt;
&lt;br /&gt;
Point to circuit&lt;br /&gt;
|| Let us understand the circuit connection.&lt;br /&gt;
&lt;br /&gt;
The two rails at the top and bottom of the breadboard are called '''power rails'''.&lt;br /&gt;
&lt;br /&gt;
The red rail represents the positive connection and the blue rail is the negative connection.&lt;br /&gt;
&lt;br /&gt;
Each row is connected horizontally.&lt;br /&gt;
&lt;br /&gt;
Positive and''' GND '''connections between''' Arduino '''and''' breadboard''' are already set.&lt;br /&gt;
&lt;br /&gt;
Each vertical column of 5 holes is internally connected.&lt;br /&gt;
&lt;br /&gt;
These rails are called '''terminal rails'''.&lt;br /&gt;
&lt;br /&gt;
The LED is connected to '''Arduino pin 13 '''through a '''resistor.'''&lt;br /&gt;
&lt;br /&gt;
The LED's other leg is connected to '''GND'''.&lt;br /&gt;
|- &lt;br /&gt;
|| Highlight Blocks&lt;br /&gt;
&lt;br /&gt;
Point to default generated blocks&lt;br /&gt;
&lt;br /&gt;
Point to block inside loop block.&lt;br /&gt;
&lt;br /&gt;
Point to Turn LED ON block&lt;br /&gt;
&lt;br /&gt;
Point to Turn LED OFF block&lt;br /&gt;
&lt;br /&gt;
Point to both Wait for 0.2-second block&lt;br /&gt;
|| Let us see the default blocks generated to blink an LED.&lt;br /&gt;
&lt;br /&gt;
The loop block contains four''' blocks''': two '''LED blocks''' and two '''wait blocks'''.&lt;br /&gt;
&lt;br /&gt;
The first''' LED block''' sets '''pin 13 '''to''' ON''', turning the LED on.&lt;br /&gt;
&lt;br /&gt;
The second '''LED block''' sets '''pin 13''' to''' OFF''', turning the LED off.&lt;br /&gt;
&lt;br /&gt;
Each LED block is followed by a '''0.2-second wait block''', creating a delay.&lt;br /&gt;
&lt;br /&gt;
This means the LED will stay '''ON '''for 0.2 seconds, then turns '''OFF''' for 0.2 seconds'''.'''&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the code icon&lt;br /&gt;
&lt;br /&gt;
Highlight the comment section &lt;br /&gt;
|| Click on the '''Code icon''' to view the automatically generated''' Arduino code'''. &lt;br /&gt;
&lt;br /&gt;
The code includes self-explanatory''' comments''' for better understanding.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the home icon and click the play button&lt;br /&gt;
&lt;br /&gt;
Point to simulation area&lt;br /&gt;
|| Click on the '''Home icon.'''&lt;br /&gt;
&lt;br /&gt;
Let us click the '''play button''' to simulate the circuit.&lt;br /&gt;
&lt;br /&gt;
Observe the '''LED''' is turning '''ON''' and '''OFF''' with a 0.2 seconds delay.&lt;br /&gt;
|- &lt;br /&gt;
|| Change the pin number in the LED block&lt;br /&gt;
&lt;br /&gt;
Change the LED# in both LED blocks to 10&lt;br /&gt;
&lt;br /&gt;
Point to simulation area.&lt;br /&gt;
|| Now let's modify some parameters in the blocks.&lt;br /&gt;
&lt;br /&gt;
Change the '''LED# '''in both''' LED blocks '''to''' 10''' from the drop down box.&lt;br /&gt;
&lt;br /&gt;
This connects the LED to '''pin 10 '''of the Arduino in the circuit.&lt;br /&gt;
&lt;br /&gt;
Observe the updates in the circuit diagram as we make changes in the blocks.&lt;br /&gt;
|- &lt;br /&gt;
|| Update both '''wait blocks to a 1-second delay.'''&lt;br /&gt;
&lt;br /&gt;
Click on the Code icon&lt;br /&gt;
&lt;br /&gt;
Point to updated code&lt;br /&gt;
|| Let us update both the '''wait blocks''' to a 1-second delay.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Code icon''' to view the updated code.&lt;br /&gt;
&lt;br /&gt;
You will see that the '''LED pin '''has''' '''changed to''' 10.'''&lt;br /&gt;
&lt;br /&gt;
The''' delay is set''' to 1 second.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
Click the '''Play button'''&lt;br /&gt;
&lt;br /&gt;
'''Point to simulation area'''&lt;br /&gt;
|| Click on the '''Home''' icon.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Play button''' to start the simulation.&lt;br /&gt;
&lt;br /&gt;
Observe the '''LED '''blinking with an updated delay of 1 second.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to step by step controls. &lt;br /&gt;
&lt;br /&gt;
Click the '''Previous Step''' button &lt;br /&gt;
&lt;br /&gt;
Click the '''Next Step''' button&lt;br /&gt;
&lt;br /&gt;
Point to yellow outline block in working area&lt;br /&gt;
&lt;br /&gt;
Point to status window and loop changes in simulation area&lt;br /&gt;
|| To view the simulation '''step by step''', use the '''step controls'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''Previous Step''' button to go back to the '''start of Step 1'''.&lt;br /&gt;
&lt;br /&gt;
Click the '''Next Step''' button to move forward through each block.&lt;br /&gt;
&lt;br /&gt;
The currently running block will be highlighted with a yellow outline.&lt;br /&gt;
&lt;br /&gt;
Watch the '''simulation '''steps in the simulation area''' '''and loop progress in the block area.&lt;br /&gt;
|- &lt;br /&gt;
|| Click on the '''Download''' icon and select the '''download project.'''&lt;br /&gt;
&lt;br /&gt;
Cursor on '''xml''' file.&lt;br /&gt;
|| Let us see how to save the project.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Download''' icon on the top toolbar and select the '''download project.'''&lt;br /&gt;
&lt;br /&gt;
It will download the '''Blink of LED''' project as an '''xml''' file in the '''Downloads''' folder of your computer.&lt;br /&gt;
|- &lt;br /&gt;
|| Open the xml file.&lt;br /&gt;
&lt;br /&gt;
Click on '''New file /Blank file '''icon and press '''ok'''.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Projects''' icon and click on choose file.&lt;br /&gt;
&lt;br /&gt;
Choose the .xml file and click on OK.&lt;br /&gt;
&lt;br /&gt;
Point the cursor on all the blocks and code.&lt;br /&gt;
|| Let us open the saved xml file.&lt;br /&gt;
&lt;br /&gt;
Click on '''New file /Blank file '''icon on the top toolbar, and press '''ok''' to create a blank file.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Projects''' icon on the toolbar and click on choose file.&lt;br /&gt;
&lt;br /&gt;
Choose the .xml file that you have downloaded and open the project, click on OK.&lt;br /&gt;
&lt;br /&gt;
You can see all the blocks and code that was generated.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
* Blink of an LED in Electroblocks&lt;br /&gt;
* Auto-generated code &lt;br /&gt;
* Output of the experiment using the simulator&lt;br /&gt;
|| This brings us to the end of this tutorial. &lt;br /&gt;
&lt;br /&gt;
Let’s summarize.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Ownership/English</id>
		<title>Rust-Programming-Language/C2/Ownership/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Ownership/English"/>
				<updated>2025-09-22T12:12:59Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ownership&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ownership&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ownership Rules&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Drop and Copy &amp;lt;/span&amp;gt;traits&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To record this tutorial &amp;lt;/span&amp;gt;I am&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; using:&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust version 1.80.0 &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Visual Studio Code v&amp;lt;/span&amp;gt;ersion&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; 1.19.0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 4'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To follow this tutorial, you should be familiar with compiling and running a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; program.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ownership.rs&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; link of this tutorial page.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ownership'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Let us now learn about''' Ownership.'''&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ownership'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; allows memory safety without a garbage collector.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#171717;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is a key feature of the Rust language that allows it to be both safe and fast.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 7'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ownership Rules'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Each value in Rust has a single owner&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;There can be only one owner at a time&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When the owner goes out of scope the value will be dropped.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 8'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Drop trait'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To understand the ownership rules, we need to note two traits: &amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''drop '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' copy'''&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The&amp;lt;/span&amp;gt;se traits are &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fundamental traits related to resource management and memory handling.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.101cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us &amp;lt;/span&amp;gt;understand the '''drop'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; trait through an example.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new &amp;lt;/span&amp;gt;Ownership'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; Ownership'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new Ownership&amp;lt;/span&amp;gt; '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Code file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;struct MyStruct {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;data: String,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;//highlight impl Drop for MyStruct&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;impl Drop for MyStruct {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn drop(&amp;amp;mut self) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Dropping MyStruct with data: {}&amp;quot;, self.data);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Start&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;{&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let new_struct = MyStruct {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;data: String::from(&amp;quot;Hello, world!&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;End&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// my_struct goes out of scope here, and the drop method is called.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| This code explains how '''ownership '''and''' Drop trait''' work together in Rust.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Here we &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;created a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''struct'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyStruct'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; which contains data of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''string'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; type&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the implementation block, &amp;lt;/span&amp;gt;the''' drop'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; trait for &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Mystruct'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; has been implemented.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The drop method is automatically called when an object &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;goes out of scope.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the main program, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''new_struct'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is created with &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Hello, world!&amp;quot;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; stored in its data.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''new_struct'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;owns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;that string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;At the end of the inner scope, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''new_struct '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;goes out of scope.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;automatically calls&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''drop(&amp;amp;mut self)'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; for &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''new_struct.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this code,''' drop''' happens before &amp;quot;End&amp;quot; is printed.&lt;br /&gt;
&lt;br /&gt;
This is because the '''struct’'''s scope ends earlier.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next, let us see an example of a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''copy'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; trait.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the code window and copy paste the code from the &amp;lt;/span&amp;gt;'''C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let x = 10;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let y = x; // x is copied, not moved&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;x: {}, y: {}&amp;quot;, x, y); // x is still accessible&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello world&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;v&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; = s; // Move occurs, `s` is no longer valid&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;// println!(&amp;quot;{}&amp;quot;, s); // This would cause an error&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here, x is assigned a value 10, and y is assigned to variable x. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For simple types like i32, bool, char, etc., Rust &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''copies'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the value instead of moving it.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;These data types are entirely stored on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''stack. '''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It has a fixed size known at compile time.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;After copying, both&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' x'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' y '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;hold the value 10.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;But for the string, the variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''s''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; is assigned the value “Hello World!”.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Variable '''v '''is assigned to '''s.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;copy doesn’t happen because of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''String'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; being an owned type. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;This fails because after the move, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''s '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;no longer owns any valid data.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust’s compiler prevents you from using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''s '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;here.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Hence it would show an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Run the code to see the output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the copy trait is implemented by default for &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''integer'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For string type we &amp;lt;/span&amp;gt;get&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; an error.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Types like &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''String'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; or other heap-allocated structures do not implement &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Copy'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; by default.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let t = s.clone(); // deep copy of the string data&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;s: {}, &amp;lt;/span&amp;gt;v&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;: {}&amp;quot;, s, &amp;lt;/span&amp;gt;v&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;); // both accessible&amp;lt;/span&amp;gt;&lt;br /&gt;
|| We can use the '''clone''' method to solve this issue.&lt;br /&gt;
&lt;br /&gt;
Let's add the clone method as '''s.clone() '''in the code.&lt;br /&gt;
&lt;br /&gt;
'''.clone() '''makes an '''explicit''' deep copy of the heap data.&lt;br /&gt;
&lt;br /&gt;
Change the print statement to print '''s '''and''' v .'''&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| Run the code to see the correct output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;9'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;10'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| As an assignment. write a program that:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Creates a String variable called '''greeting''' with the value &amp;quot;Hello, Rust!&amp;quot;.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Passes it to a function '''takes_ownership''' that prints the value.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Inside this function, remember that ownership is moved.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;11'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Thank you for joining&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Strings/English</id>
		<title>Rust-Programming-Language/C2/Strings/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Strings/English"/>
				<updated>2025-09-22T11:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Strings '''in '''Rust'''.&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 2''': &lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* String data type&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 3''':&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
||&lt;br /&gt;
* To record this tutorial I’m using the following setup.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 5''':&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
&lt;br /&gt;
'''stringsdemo.rs'''&lt;br /&gt;
||&lt;br /&gt;
* The following code file is required to practise this tutorial&lt;br /&gt;
&lt;br /&gt;
* This file is provided in the code files link of this tutorial page&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 6:'''&lt;br /&gt;
&lt;br /&gt;
'''Strings'''&lt;br /&gt;
&lt;br /&gt;
|| The String data type in Rust can be classified as&lt;br /&gt;
*String Literal(&amp;amp;str) i.e string slice and&lt;br /&gt;
*String Object(String)&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 7:'''&lt;br /&gt;
&lt;br /&gt;
'''String Literal'''&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
* A string literal is a statically allocated string stored in the program's binary&lt;br /&gt;
* It is written using '''double quotes (&amp;quot;)'''&lt;br /&gt;
* String literals are also known as '''string slices.'''&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| '''Slide 8:'''&lt;br /&gt;
&lt;br /&gt;
'''String slice'''&lt;br /&gt;
&lt;br /&gt;
* '''Eg: let name: &amp;amp;str = &amp;quot;Rust Program&amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
*A string slice is a reference to a part of a string. &lt;br /&gt;
* It's represented by the type''' &amp;amp;str '''&lt;br /&gt;
*A string slice cannot be modified as it points to a part of memory that holds the string.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| &lt;br /&gt;
|| Let us open the '''visual code editor.'''&lt;br /&gt;
|- &lt;br /&gt;
|| click on '''terminal''' and select '''New Terminal'''&lt;br /&gt;
&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| '''&amp;gt; cd''' '''Desktop'''/'''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new stringsdemo'''&lt;br /&gt;
&lt;br /&gt;
'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; stringsdemo'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new stringsdemo''' and press''' Enter'''.&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- &lt;br /&gt;
|| &lt;br /&gt;
|| In the '''main.rs '''file, copy and paste the '''code''' from the codefile.&lt;br /&gt;
|- &lt;br /&gt;
|| '''code example:'''&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let s = String::from(&amp;quot;Hello, world!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
let x = &amp;amp;s[0..5]; // A slice of the first 5 characters&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, x); // output: Hello&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| We have created a heap-allocated string '''s''' .&lt;br /&gt;
&lt;br /&gt;
'''String::from '''creates a new String object from a string literal (&amp;quot;Hello, world!&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Variable '''x '''takes a slice of the string '''s'''.&lt;br /&gt;
&lt;br /&gt;
0 to 5 is a '''range''' that means &amp;quot;from index 0 up to index 5&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note that the slicing excludes the end index character.&lt;br /&gt;
&lt;br /&gt;
As '''x''' references part of '''s''', it doesn’t own the '''String'''. So no new memory is allocated to it. &lt;br /&gt;
&lt;br /&gt;
So, it gives you the substring &amp;quot;Hello&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- &lt;br /&gt;
|| Point to the output.&lt;br /&gt;
|| Let us run the program and check the output.&lt;br /&gt;
&lt;br /&gt;
In the terminal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
We can see ''' Hello '''is printed as the output.&lt;br /&gt;
|- &lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see about '''String Objects.'''&lt;br /&gt;
|- &lt;br /&gt;
|| Slide 9:&lt;br /&gt;
&lt;br /&gt;
String Objects&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
*String Object is mutable, growable and heap allocated string type.&lt;br /&gt;
*It is commonly used when the strings can be modified and dynamically sized.&lt;br /&gt;
* It automatically frees the memory when it goes out of scope.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see some of the common methods used with string objects.&lt;br /&gt;
&lt;br /&gt;
Copy and paste the code from the code file for each function in the below demonstration.&lt;br /&gt;
|- &lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let s = String::from(&amp;quot;Hello World&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Length: {}&amp;quot;, s.len()); // Outputs: 11&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;gt; cargo run&lt;br /&gt;
&lt;br /&gt;
|| First we will see how to use the '''len()''' function.&lt;br /&gt;
&lt;br /&gt;
The&amp;amp;nbsp;'''len()'''&amp;amp;nbsp;function returns the total number of characters in a string, including the spaces.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Run the program. &lt;br /&gt;
&lt;br /&gt;
We can see the length of the string printed as 11.&lt;br /&gt;
|- &lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let mut s = String::from(&amp;quot;Hello&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
s.clear();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Cleared string: {}&amp;quot;, s); // Outputs an empty line&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Next we will see about the '''clear()''' function.&lt;br /&gt;
&lt;br /&gt;
The ''' clear()''' function clears the string and returns an empty string.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Run the program.&lt;br /&gt;
&lt;br /&gt;
We can see the empty string as output.&lt;br /&gt;
|- &lt;br /&gt;
|| fn main(){&lt;br /&gt;
&lt;br /&gt;
let s = String::from(&amp;quot;I love Rust&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
let new_s = s.replace(&amp;quot;love&amp;quot;, &amp;quot;enjoy&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, new_s); }&lt;br /&gt;
&lt;br /&gt;
// Outputs: I enjoy Rust&lt;br /&gt;
&lt;br /&gt;
|| Next we will check how the '''replace''' function works.&lt;br /&gt;
&lt;br /&gt;
This program replaces all matches of a pattern with another string.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Let us run the program and verify the output.&lt;br /&gt;
&lt;br /&gt;
We can see that the string “love” is replaced with “enjoy”.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| fn main(){&lt;br /&gt;
&lt;br /&gt;
let mut s = &amp;quot;Tutorial&amp;quot;.to_string();&lt;br /&gt;
&lt;br /&gt;
s.push('s');&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;,s);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Let us see how the '''Push''' function works.&lt;br /&gt;
&lt;br /&gt;
'''Push() '''function appends the given char to the end of this String.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Run the program .&lt;br /&gt;
&lt;br /&gt;
In the output, “s” is added at the end of the string “tutorial”.&lt;br /&gt;
|- &lt;br /&gt;
|| fn main(){&lt;br /&gt;
&lt;br /&gt;
let s = String::from(&amp;quot;Hello, Rust, World&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
for item in s.split(&amp;quot;, &amp;quot;) {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, item);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Next we will see about '''split''' function.&lt;br /&gt;
&lt;br /&gt;
It splits the string, whenever it encounters a comma and space.&lt;br /&gt;
&lt;br /&gt;
It returns an '''iterator''' over substrings separated by that pattern.&lt;br /&gt;
&lt;br /&gt;
The '''for ''' loop consumes the iterator and prints each substring on a new line.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
In the terminal, run the program and check the output.&lt;br /&gt;
&lt;br /&gt;
We can see each string slice printed on a new line.&lt;br /&gt;
|- &lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let str = String::from(&amp;quot;Hello&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Loop through each character in a string using chars() method&lt;br /&gt;
&lt;br /&gt;
for char in str.chars() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, char);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| This program shows how to use the '''chars()''' method.&lt;br /&gt;
&lt;br /&gt;
We can use the '''chars() '''method of the string type to iterate over a string.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Let us check the output. &lt;br /&gt;
&lt;br /&gt;
We can see each character of the string is printed in a separate line.&lt;br /&gt;
|- &lt;br /&gt;
||  &lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let fullname = &amp;quot; Spoken Tutorials \r\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Before trim &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;length is {}&amp;quot;,fullname.len());&lt;br /&gt;
&lt;br /&gt;
println!();&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;After trim &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;length is {}&amp;quot;,fullname.trim().len());&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Next is about the '''trim''' function.&lt;br /&gt;
&lt;br /&gt;
The '''trim()''' function removes leading and trailing spaces in a string. &lt;br /&gt;
&lt;br /&gt;
This will not remove the inline spaces.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Analyse the output.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Additional reading material&lt;br /&gt;
||&lt;br /&gt;
* Please go through the additional reading material provided in the link of this tutorial.&lt;br /&gt;
&lt;br /&gt;
* You will learn more about string memory allocation concept and other string methods.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about&lt;br /&gt;
* String data type&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- &lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
fn main(){&lt;br /&gt;
&lt;br /&gt;
let mut title = &amp;quot; Spoken Tutorial&amp;quot;.to_string();&lt;br /&gt;
&lt;br /&gt;
title.push_str(&amp;quot; Project&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;,title);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| As an assignment do the following:&lt;br /&gt;
&lt;br /&gt;
* Run the above code&lt;br /&gt;
* Understand the difference between '''push''' and '''push_str '''function.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
|| Thank You&lt;br /&gt;
|| Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Strings/English</id>
		<title>Rust-Programming-Language/C2/Strings/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Strings/English"/>
				<updated>2025-09-19T09:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Strings '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide 2:&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Learning Objective&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this tutorial, we will learn about&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;String data type&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.171cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide &amp;lt;/span&amp;gt;3&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;System Requirement&amp;lt;/span&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;To record this tutorial I’m using the following setup.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.171cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide 5:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Code Files&amp;lt;/span&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial&amp;lt;/div&amp;gt;&lt;br /&gt;
'''stringsdemo.rs'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the code files link of this tutorial page&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Strings'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;The String data type in Rust can be classified as&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;String Literal(&amp;amp;str) i.e string slice and&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;String Object(String)&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''String Literal'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;A string literal is a statically allocated string&amp;lt;/span&amp;gt; stored in the program's binary&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is written using '''double quotes (&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;&amp;quot;&amp;lt;/span&amp;gt;)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;String literals are also known as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''string slices.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''String slice'''&amp;lt;/span&amp;gt;* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Eg: let name: &amp;amp;str = &amp;quot;Rust Program&amp;quot;;'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;A string slice is a reference to a&amp;lt;/span&amp;gt; part&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; of a string. &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;It's represented by the type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;''' &amp;amp;str '''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;A string slice cannot be modified as it points to a p&amp;lt;/span&amp;gt;art&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; of memory that holds the string.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''visual code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New &amp;lt;/span&amp;gt;Terminal'''&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;'''T&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;erminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''&amp;gt; cd''' '''Desktop'''/'''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new stringsdemo'''&lt;br /&gt;
&lt;br /&gt;
'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; stringsdemo'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''cargo new stringsdemo'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; and press&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;''' Enter'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Open the created project&amp;lt;/span&amp;gt; as shown.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;file, copy and paste the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; from the codefile.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#252525;&amp;quot;&amp;gt;'''code example:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;fn main() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello, world!&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;let &amp;lt;/span&amp;gt;x&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; = &amp;amp;s[0..&amp;lt;/span&amp;gt;5&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;]; // A slice of the first 5 characters&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, &amp;lt;/span&amp;gt;x&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;); // output&amp;lt;/span&amp;gt;: Hello&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We have created a heap-allocated &amp;lt;/span&amp;gt;string''' s'''&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; .&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''String::from '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;creates a new String object from a string literal (&amp;quot;Hello, world!&amp;quot;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''x '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;takes a slice of&amp;lt;/span&amp;gt; the string s.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;0..5&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; is a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''range'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; that means &amp;quot;from index 0 up to index 5&amp;quot;.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#252525;&amp;quot;&amp;gt;Note that the slicing excludes the end index character.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;'''x'''&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; references part of &amp;lt;/span&amp;gt;'''s''', it &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;doesn’t own the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''String'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;. So no new memory is allocated to it. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;So, it gives you the substring &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;&amp;quot;Hello&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.Save the program.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Point to the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Let us run the program and check the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the menu bar, click on terminal and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We can see&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' Hello '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is printed as the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:transparent;color:#252525;&amp;quot;&amp;gt;Next we will see about &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#252525;&amp;quot;&amp;gt;tring &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;O&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#252525;&amp;quot;&amp;gt;bjects.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide 9:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;String Objects&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;String Object is mutable, growable and heap allocated string type.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;It is commonly used when the strings can be modified and dynamically sized.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It automatically frees the memory when it goes out of scope.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Next we will see some of the common methods used with string objects.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the code file&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; for each function in the below demonstration.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello World&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Length: {}&amp;quot;, s.len()); // Outputs: &amp;lt;/span&amp;gt;11&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;gt; cargo run&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;First we will see how to use the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''len()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;The&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''len()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;function returns the total number of characters in a string&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;including the spaces.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; the program&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Run the program. We can see the length of the string printed as 11.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = String::from(&amp;quot;Hello&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;s.clear();&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Cleared string: {}&amp;quot;, s); // Outputs an empty line&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next we will see &amp;lt;/span&amp;gt;about the '''clear&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' &amp;lt;/span&amp;gt;c&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;lear()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function clears the string and returns an empty string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the program.&lt;br /&gt;
&lt;br /&gt;
We can see the empty string as output.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main(){&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;I love Rust&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let new_s = s.replace(&amp;quot;love&amp;quot;, &amp;quot;enjoy&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, new_s); }&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Outputs: I enjoy Rust&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Next we&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; will check &amp;lt;/span&amp;gt;how the '''replace'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function works.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This program r&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;eplaces all matches of a pattern with another string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let us run the program and verify the output.&lt;br /&gt;
&lt;br /&gt;
We can see that the string “love” is replaced with “enjoy”.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main(){&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let mut s = &amp;quot;Tutorial&amp;quot;.to_string();&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;s.push('s');&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;,s);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Let us see how the '''Push''' function works.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Push() '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;function appends the given char to the end of this String.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run the program .&lt;br /&gt;
&lt;br /&gt;
In the output, “s” is added at the end of the string “tutorial”.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; main(){&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let s = String::from(&amp;quot;Hello, Rust, World&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;for item in s.split(&amp;quot;, &amp;quot;) {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, item);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Next we will see about '''split''' function.&lt;br /&gt;
&lt;br /&gt;
It &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;splits the string, whenever it encounters a comma and space&amp;lt;/span&amp;gt;'''.'''&lt;br /&gt;
&lt;br /&gt;
It returns an '''iterator''' over substrings separated by that pattern.&lt;br /&gt;
&lt;br /&gt;
The '''for '''loop consumes the iterator and prints each substring on a new line.&lt;br /&gt;
&lt;br /&gt;
In the terminal, run the program and check the output.&lt;br /&gt;
&lt;br /&gt;
We can see each string slice printed on a new line.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let str = String::from(&amp;quot;Hello&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Loop through each character in a string using chars() method&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;for char in str.chars() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;{}&amp;quot;, char);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
|| This program shows how to use the '''chars()''' method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can &amp;lt;/span&amp;gt;use the '''chars&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;() '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;method of the string type to iterate &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;over a string.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let us check the output. &lt;br /&gt;
&lt;br /&gt;
We can see each character of the string is printed in a separate line.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let fullname = &amp;quot; Spoken Tutorials \r\n&amp;quot;;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Before trim &amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;length is {}&amp;quot;,fullname.len());&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!();&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;After trim &amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;length is {}&amp;quot;,fullname.trim().len());&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Next is about the '''trim''' function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''trim()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function removes leading and trailing spaces in a string. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This will not remove the inline spaces.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
Analyse the output.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Additional reading material&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please go through the additional reading material provided in the link of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You will learn more about string memory allocation concept and other string methods.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;String data type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
fn main(){&lt;br /&gt;
&lt;br /&gt;
let mut title = &amp;quot; Spoken Tutorial&amp;quot;.to_string();&lt;br /&gt;
&lt;br /&gt;
title.push_str(&amp;quot; Project&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;,title);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;As an assignment do the following:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Run the above code&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Understand the difference between '''push''' and '''push_str '''function.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Thank You&lt;br /&gt;
|| Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Tuples-and-Struct/English</id>
		<title>Rust-Programming-Language/C2/Tuples-and-Struct/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Tuples-and-Struct/English"/>
				<updated>2025-09-10T10:28:37Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || '''Slide 1''' | style=&amp;quot;color:#000000;&amp;quot; | Welcome to the Spoken Tutorial on '''Tuples and Struct in Rust.''' |- st...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Welcome to the Spoken Tutorial on '''Tuples and Struct in Rust.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Tuples and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Struct&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| To record this tutorial I’m using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust version 1.80.0 &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Visual Studio Code version 1.19.0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 4'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | To follow this tutorial, you should be familiar with compiling and running a '''Rust''' program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide''' '''5'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the Code Files link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Tuples'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Tuple is a compound data type&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is a group of values of different types, stored in a single variable.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Tuples have a fixed length - once declared they cannot grow or shrink in size.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us understand how tuples work in a '''Rust''' program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Open '''Visual''' '''code editor'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Open the '''Visual Studio code editor.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd''' '''Desktop'''/'''MyRustProject'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;''' '''cargo new tuplesdemo'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; tuplesdemo'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory '''MyRustProject''' as explained earlier.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command '''cargo new tuplesdemo '''and press '''Enter.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the '''main.rs''' file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;file, copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let person: (f64, u8, bool) = (18000.00, 30, true);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;salary: {}&amp;quot;, person.0);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Age: {}&amp;quot;, person.1);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Is Active: {}&amp;quot;, person.2);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Destructuring a tuple&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let(salary,age,status) =person;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Destructured - Salary: {}, Age: {}, Status: {}&amp;quot;, salary, age, status);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press Ctrl+s&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We have declared a variable called '''person''' with three different data types.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here the tuple is declared with floating-point, integer and boolean data type.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can access tuple elements using dot notation followed by the index of the element.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;0 for the first element, 1 for the second, and so on.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Destructuring''' means it &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;breaks the tuple into individual variables.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, salary&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; becomes &amp;quot;&amp;lt;/span&amp;gt;18000&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;&amp;quot;, age becomes 30, and status becomes “true”&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It prints values stored in the new variables.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on terminal and select '''New Terminal.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type '''cargo run'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us execute the code and see the output as shown,&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Next let us see how to use '''Tuple''' as a return value.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Delete the existing code.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn get_coordinates() -&amp;gt; (i32, i32) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;(10, 20)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let (x, y) = get_coordinates();&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;X: {}, Y: {}&amp;quot;, x, y);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the window and copy and paste the code from the Code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This code shows that '''Tuples''' are commonly used to return multiple values from a function.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Check the output as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Next we will see about &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''struct'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''structures'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Struct&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Structs are similar to tuples&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Structs can also hold multiple related values, of different data types.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Switch back to the '''Visual studio code editor.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the window and copy and paste the code from the code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;struct User {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;active: bool,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;username: String,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;email: String,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;let user1 = User {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;active: true,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;username: String::from(&amp;quot;someusername123&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;email: String::from(&amp;quot;someone@example.com&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(“{:?}”,user1.email);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press Ctrl+s&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here’s an example of a struct.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We define a struct named '''User.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The fields with their names and data types are specified within the curly braces.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It groups together multiple pieces of data related to a user account.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''user1''' is a variable of type '''User'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''User '''creates an instance of the '''User struct '''and assigns it to '''user1''' variable.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We have the flexibility to assign key value pairs in any order, as struct is just a template.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To get a specific value from a struct, we use dot notation.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For example, to access this user’s email address, we use '''user1.email'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type '''cargo run'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type '''cargo run '''to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next we will see about the declaring methods for '''struct'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;struct Rectangle {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;width: u32,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;height: u32,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;impl Rectangle {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn area(&amp;amp;self) -&amp;gt; u32 {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;self.width * self.height&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let rect1 = Rectangle {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;width: 30,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;height: 50,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;};&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;quot;The area of the rectangle is {}&amp;quot;,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;rect1.area()&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press Ctrl+s&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We define a struct named Rectangle with two fields: width and height, both of type u32.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We use an impl( '''implementation''')block to implement methods for the Rectangle struct.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Inside the impl block, we define a method named area that calculates the area of the rectangle.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;amp;self '''means it borrows the Rectangle instance immutably.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;self.width and self.height are the fields of the rectangle instance.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It allows us to read width and height without taking ownership or modifying them.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Inside the '''main''' function, a new instance of '''Rectangle''' is created with '''Width = 30 '''and''' height = 50'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the Program&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type '''cargo run '''to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It prints “The area of the rectangle is 1500”&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this tutorial, we learn about&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;As an Assignment, please do the following:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a tuple named '''person''' with the following values:&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Print each value in the tuple using indexing &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Destructure the tuple into separate variables and print those variables.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 9 Thank You'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Arrays/English</id>
		<title>Rust-Programming-Language/C2/Arrays/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Arrays/English"/>
				<updated>2025-09-03T09:40:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |-  || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Arrays in Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Arrays&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 3'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| To record this tutorial I am using:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust version 1.80.0 &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Visual Studio Code version 1.19.0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 4'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | To follow this tutorial, you should be familiar with compiling and running Rust programs.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''5'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''arraysdemo.rs'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the '''Code Files''' link of this tutorial page.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 6'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Arrays'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Arrays''' in '''Rust''' are collections of values of the same data type and have a fixed size&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Arrays once initialized cannot be resized&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;An array declaration allocates sequential memory blocks&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.118cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us understand how arrays &amp;lt;/span&amp;gt;work&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' &amp;lt;/span&amp;gt;R&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; program.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;'''Visual Studio Code editor.'''&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;/&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new &amp;lt;/span&amp;gt;arraysdemo'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; arraysdemo'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new arraysdemo '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, copy and paste the code from the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;C&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;ode file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main(){&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let arr:[i32;4] = [10,20,30,40];&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;First element: {}&amp;quot;,arr[0]);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Second element: {}&amp;quot;, arr[1]);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;array size is :{}&amp;quot;,arr.len());&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press Ctrl+s&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We have declared an array with variable name as '''arr''' and its data type as '''i32''' and size as '''4.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The values &amp;lt;/span&amp;gt;within&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''square brackets'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; are &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''array values'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Rust, an array can store values of any '''datatype'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;To display the value of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''nth index'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; in an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''array, '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;we need to pass the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''index.'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Please note that the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''array index'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; starts from 0.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us execute the code and see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on terminal and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Point to the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It prints the first element as 10, second element as 20&amp;lt;/span&amp;gt; and array size as 4.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;quot;array is {:?}&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, arr[5]);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+s&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us modify the code as shown.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We have 4 values in the array.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us try to access a value greater than 4, say 6th element where there is no value.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Add the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statement as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Point to the error&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We see an error- index out of bounds&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;So, arrays in Rust are different as compared to other programming languages.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Th&amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is because they have a fixed length.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next let us see an example of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''mutable Array'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in Rust.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Delete the existing code.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
f&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;n main(){&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// an array with data type and size&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;let mut colors: [&amp;amp;str; 3] = [&amp;quot;black&amp;quot;, &amp;quot;blue&amp;quot;, &amp;quot;red&amp;quot;];&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;println!(&amp;quot;Original colors: {:?}&amp;quot;, colors);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// change the value of the 3rd element in the array&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;colors[2] = &amp;quot;green&amp;quot;;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;println!(&amp;quot;changed colors = {:?}&amp;quot;, colors);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the window and copy and paste the code from the Code file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We have declared an array of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''colors '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;with &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''mut'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Here the data type and size of the array are specified&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;W&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;e have assigned a new value as “&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''green'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;” to the third element in the array.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;As &amp;lt;/span&amp;gt;the&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;created array&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;i&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;s mutable, it is possible to change the value.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the output&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output shows the Original colors as black, blue, red.&lt;br /&gt;
&lt;br /&gt;
And the changed &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;color values&amp;lt;/span&amp;gt; as black, blue, green.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next let us see some &amp;lt;/span&amp;gt;p&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;owerful methods used to unlock the full potential of arrays.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Clear the window and copy and paste the code from the code files.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let arr = [1, 2, 3, 4];&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// Output: Is empty: false&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Is empty: {}&amp;quot;, arr.is_empty()); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;2nd element: {}&amp;quot;, arr.get(1).unwrap()); // 2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;First element: {}&amp;quot;, arr.first().unwrap()); // 1&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Last element: {}&amp;quot;, arr.last().unwrap()); // 4&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let (left, right) = arr.split_at(2);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Left slice:{:?}, Right slice:{:?}&amp;quot;, left, right);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see the different methods used in arrays.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;'''is_empty() '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;method &amp;lt;/span&amp;gt;checks if the array has&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;any&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;''' elements'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''arr'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; has 4 elements, so the result is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''false'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can access an element using the '''.get() '''method.&lt;br /&gt;
&lt;br /&gt;
It takes the index value as the parameter.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The '''get''' method returns an '''Option enum'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;'''get(1) '''returns an '''Option&amp;lt;i32&amp;gt; '''with the value at index 1 (which is 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.unwrap() extracts the value (2) from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Some'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Likewise,.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#188038;&amp;quot;&amp;gt;first()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#434343;&amp;quot;&amp;gt; r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;eturns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Some(1)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;that is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;the first element.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;.unwrap()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; extracts &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; from &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Some(1)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;.last()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; returns the last element as 4 &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;.split_at(2)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; splits the array at index &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;, producing two slices:&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;left&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; contains the first two elements: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;that is&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;[1, 2]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;right&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; contains the remaining elements: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt;that is&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#434343;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;[3, 4]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the left slice and right slice output.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 7'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this tutorial, we learn about&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Arrays'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 8'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;As an Assignment, please do the following:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Declare an array of 6 integers: [10, 20, 30, 40, 50, 60]&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Use a loop to print all elements in the array&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a slice of the array from index 2 to 4 &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Print the slice using {:?}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Slide 9 Thank You'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Pattern-Types/English</id>
		<title>Rust-Programming-Language/C2/Pattern-Types/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Pattern-Types/English"/>
				<updated>2025-08-25T10:27:53Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |-  || '''Slide 1''' | style=&amp;quot;color:#000000;&amp;quot; | Welcome to the Spoken Tutorial on '''Pattern Types '''in '''Rust.''' |-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Welcome to the Spoken Tutorial on '''Pattern Types '''in '''Rust.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Irrefutable pattern and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Refutable pattern&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.153cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| This tutorial is recorded using,&lt;br /&gt;
* Ubuntu Linux OS version 22.04&lt;br /&gt;
* Rust version 1.80.0 &lt;br /&gt;
* Visual studio code version 1.19.0&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.153cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
|| To follow this tutorial you should be familiar with compiling and running a '''Rust''' program.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.153cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 5'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''pattern.rs'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode files link of this tutorial page.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Irrefutable patterns'''&lt;br /&gt;
||&lt;br /&gt;
* '''Irrefutable patterns '''always match at the declaration. &lt;br /&gt;
* They are used in places where failure to match is not allowed.&lt;br /&gt;
&lt;br /&gt;
For example, the variable '''x''' is assigned directly a value 5.&lt;br /&gt;
&lt;br /&gt;
Similarly '''y''' and '''z''' are declared with the values 3 and 4.&lt;br /&gt;
&lt;br /&gt;
We are binding them directly, and they don’t have any other form of declaration.&lt;br /&gt;
&lt;br /&gt;
So it is irrefutable.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Refutable patterns'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next type is '''Refutable patterns'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;These patterns ''may fail to match''. &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;They are used where the compiler expects the possibility of failure.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Used in: if let, while let, match statements&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide:'''&lt;br /&gt;
&lt;br /&gt;
'''If let – While let'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''if let / while let '''expression is a shorthand for a match expression with only one pattern to match.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It allows us to match on a value and then execute code only if the match is successful&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next let us see an example for '''if let expression''' in Rust.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Switch back to the Visual Code editor.&lt;br /&gt;
&lt;br /&gt;
Copy paste the code from the Code file.&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the visual code Editor, copy and paste the code from the codefile.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''let''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; authorisation_status = Some(&amp;quot;approved&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;if &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''let''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; Some(status) = authorisation_status { &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;Authorisation status: {status}&amp;quot;);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We define a variable authorisation_status and assign it an '''Option''' value of''' Some(&amp;quot;approved&amp;quot;). '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Now, look closely at the second line of the code. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here we used the if '''let''' keyword to define the '''refutable''' pattern match '''Some(status). '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It checks for two values.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If '''authorisation_status''' is '''Some()''', then it unwraps the value into the variable status.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If it's '''None''', the block is skipped. That is the code is not executed.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Since''' authorisation_status '''is''' Some(&amp;quot;approved&amp;quot;)''', it matches.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The string &amp;quot;'''approved'''&amp;quot; is assigned to the variable &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Type cargo run to run the code.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Approved'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; is shown as the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Run the code.&lt;br /&gt;
&lt;br /&gt;
The output is shown as '''Authorisation status: approved''' &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Now let us see about,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' while let'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;expression&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; in Rust.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Copy paste the code from the Code file.&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode file&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let mut number = Some(5);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;while let Some(count) = number {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;Countdown: {}&amp;quot;, count);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;if count == 1 {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;number = None; // Stop when it reaches 1&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;} else {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;number = Some(count - 1); // Decrease the count&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(&amp;quot;Liftoff!&amp;quot;);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;irst&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; we defined a mutable variable called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''number'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; which is of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Option enum.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The''' variable number''' starts as '''Some(5).'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''while let Some(count)''' is a refutable pattern.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When pattern matching happens at the '''while''' '''let''' statement, '''Some(count) '''tries to match the value.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Each loop iteration decreases, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''number'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; by 1.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;When the count reaches 1, it sets&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' number = None'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, ending the loop.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''while let '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is used when you want to loop only as long as the pattern matches.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Type cargo run to run the code.&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Run the code to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We can see that &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Countdown'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; stops when it reaches 1 and prints &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Liftoff'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;!&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 10'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let Some(x) = Some(10); &lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;x = {}&amp;quot;, x);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| As an assignment, execute the below program.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Analyze the compilation error.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Use '''If let''' and correct the code.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Run the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 11&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thank You'''&amp;lt;/span&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Pattern-Matching/English</id>
		<title>Rust-Programming-Language/C2/Pattern-Matching/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Pattern-Matching/English"/>
				<updated>2025-08-22T13:04:48Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |-  || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Pattern Matching '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide 2:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Learning Objective&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Pattern matching&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.171cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Code Files&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The following code file is required to practise this tutorial&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This file is provided in the code files link of this tutorial page&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Pattern Matching syntax:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''match VALUE {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''PATTERN =&amp;gt; EXPRESSION,'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''PATTERN =&amp;gt; EXPRESSION,'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''PATTERN =&amp;gt; EXPRESSION,'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| This is the syntax for the pattern matching.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The '''match''' statement is a powerful control flow &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It allows you to compare a value against a series of patterns &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It executes the code based on which pattern matches.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It is similar to the '''Switch''' statement in other languages.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Open Visual code editor&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''visual code editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and understand how pattern matching works.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;gt;cd Desktop/MyRustProject&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Go to our working directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as explained earlier.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;pattern'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the created project.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, replace the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;as shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let x = 3;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;match x {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;1 =&amp;gt; println!(&amp;quot;One!&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;2 =&amp;gt; println!(&amp;quot;Two!&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;3 =&amp;gt; println!(&amp;quot;Three!&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;_ =&amp;gt; println!(&amp;quot;Something else!&amp;quot;),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;'''match'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;statement is used to compare &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;'''x&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;against different patterns i.e &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;(1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;3).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''underscore'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''pattern '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''catch-all pattern.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; matches any other value not explicitly covered by previous patterns. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;In this case, it will print &amp;quot;Something else!&amp;quot;,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;if x&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#111111;&amp;quot;&amp;gt;is not 1, 2, or 3. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#111111;&amp;quot;&amp;gt;Save the code. Let us execute and see the result.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on terminal and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Cargo build&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can see the output as ‘'''Three'''’ which matches the pattern as per the x value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us change the value of x to 10 in the code.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the code and run the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the output as '''“something else'''” as expected.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | The most common case for pattern matching is with '''Option''' and '''Result''' enum types.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Matching Option and Result type'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Option'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Result'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; type have two variants.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Option''' type has:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;None →It is used to indicate failure with no value&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Some(T) → It returns a value with type T&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Result''' type has:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ok(T) → It indicates operation succeeded with value T&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Err(E) → It indicates operation failed with an error E&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us see an example &amp;lt;/span&amp;gt;for&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Matching Option Type '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in Rust.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Switch back to the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;V&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;isual &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Co&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;de editor.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn main() {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn first_element(array: &amp;amp;[i32]) -&amp;gt; Option&amp;lt;i32&amp;gt; {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''if array.len() &amp;gt; 0 {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Some(array[0])'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''} else {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''None'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''let array = [];'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;{:?}&amp;quot;, first_element(&amp;amp;array));'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the codefile.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;function &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;first_element&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, returns the first element of an integer array if it exists. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It takes a reference to an array of integers &amp;lt;span style=&amp;quot;color:#c9211e;&amp;quot;&amp;gt;(&amp;amp;[i32])&amp;lt;/span&amp;gt; as its parameter and returns an &amp;lt;span style=&amp;quot;color:#6aa84f;&amp;quot;&amp;gt;Option&amp;lt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#c9211e;&amp;quot;&amp;gt;i32&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#6aa84f;&amp;quot;&amp;gt;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The function checks the length of the array using &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;array.len()&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If the array has one or more elements, it returns&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;S&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;ome(array[0])&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, i.e &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;the first element of the array. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;If the array is empty, it returns &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;None&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, indicating that there is no first element to return.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type '''cargo run '''and see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''None'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;is displayed as output as the array is empty in the program.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Let us add 10,20,30 as array elements in the code.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Save the program and run it again.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Now it displays the first element of the array as 10.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next we will see &amp;lt;/span&amp;gt;about the '''Result&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; enum '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;type.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn divide(dividend: i32, divisor: i32) -&amp;gt; Result&amp;lt;i32, String&amp;gt; {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;if divisor == 0 {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Err(String::from(&amp;quot;Cannot divide by zero&amp;quot;))&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;} else {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Ok(dividend / divisor)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let result = divide(10, 2);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;match result {&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Ok(value) =&amp;gt; println!(&amp;quot;Result: {}&amp;quot;, value),&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Err(error) =&amp;gt; println!(&amp;quot;Error: {}&amp;quot;, error),}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Copy and paste the code from the codefile.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The result enum has two variants representing a correct value and an Error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here, we define a function &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;divide&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; that performs division.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It returns a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Result&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; enum to indicate success or failure.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;divide&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; function takes two parameters: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;dividend&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;divisor&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;, both of type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;i32&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;It returns a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Result&amp;lt;i32, String&amp;gt;. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;can&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;be&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Ok &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;on success i.e (the result of the division).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Otherwise it returns&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#188038;&amp;quot;&amp;gt;Err(String)&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; if an error occurs i.e(like division by zero).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save th&amp;lt;/span&amp;gt;e file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Run the code and see the output&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;It displays 5 as the result of the division.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Change the parameters in the divide function as (10,0).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Save the program and run it again.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It displays the error message.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| In this tutorial, we learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Pattern matching&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thank You&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Enums/English</id>
		<title>Rust-Programming-Language/C2/Enums/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Enums/English"/>
				<updated>2025-08-18T09:14:48Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |-  || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enums in Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this tutorial, we will learn about:&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Enums&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;3'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This tutorial&amp;lt;/span&amp;gt; is recorded&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; using,&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust 1.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;4'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| To follow this tutorial, y&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ou should be familiar with compiling and running a Rust &amp;lt;/span&amp;gt;program&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt; '''5'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/span&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;The following code file is required to practise this tutorial.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;This file is provided in the &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;ode &amp;lt;/span&amp;gt;F&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;iles link of this tutorial page.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 6'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enum'''&amp;lt;/span&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Enums (or enumerations) is a user-defined data type.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It allows us to select a value from a list of related values.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;An enumerated type is declared using the '''enum''' keyword.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us understand about &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''enums'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; using a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; program.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the &amp;lt;/span&amp;gt;'''V&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;isual studio code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select''' New Terminal'''.&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;'''T&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;erminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''&amp;gt; cd''' '''Desktop'''/'''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new enumdemo'''&lt;br /&gt;
'''In the menu bar, File &amp;gt;&amp;gt; Open folder &amp;gt;&amp;gt; Desktop &amp;gt;&amp;gt; MyRustProject &amp;gt;&amp;gt; enumdemo'''&lt;br /&gt;
|| Let us go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new enumdemo '''and press '''Enter.'''&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the '''main.rs''' file.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;file, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;copy and paste the code from the Code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Pub &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;enum Direction {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Up,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Down,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Left,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Right,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn move_direction(dir: Direction) {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;match dir {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Direction::Up =&amp;gt; println!(&amp;quot;Move Up&amp;quot;),&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Direction::Down =&amp;gt; println!(&amp;quot;Move Down&amp;quot;),&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Direction::Left &amp;lt;nowiki&amp;gt;=&amp;gt; println!(&amp;quot;Move Left&amp;quot;),&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Direction::Right &amp;lt;nowiki&amp;gt;=&amp;gt; println!(&amp;quot;Move Right&amp;quot;),&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let dir = Direction::Left;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;move_direction(dir);&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+S&lt;br /&gt;
|| Here''' Direction '''is an '''enum''' with four possible values. &lt;br /&gt;
&lt;br /&gt;
They are: up, down, left, and right.&lt;br /&gt;
&lt;br /&gt;
These enum values are known as '''variants'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Direction'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;::&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Up'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; represents &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''enum variant'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Up'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; of the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Direction'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; enum&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;W&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;e can access &amp;lt;/span&amp;gt;t&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;he &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''enum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;variants whenever we have to use a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''direction'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; in our program.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;In the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;''' main '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;function, we are &amp;lt;/span&amp;gt;accessing the&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt; “&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;'''Left'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;” variant.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:transparent;color:#000000;&amp;quot;&amp;gt;Save the program. Let us execute the code and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Click on terminal and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
In the terminal, type '''cargo run'''.&lt;br /&gt;
&lt;br /&gt;
Point to the output.&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
In the terminal, type '''cargo run'''.&lt;br /&gt;
&lt;br /&gt;
It prints “'''Move Left'''” as the output.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Delete the existing code.&lt;br /&gt;
|| Next we will see another example for '''enum'''. &lt;br /&gt;
&lt;br /&gt;
Clear the window and copy and paste the code from the Code file.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::thread::sleep;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;use std::time::Duration;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;enum TrafficLight {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Red,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Yellow,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Green,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;loop {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;for item in (1..=28).rev() {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let now = match item {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1..=15 =&amp;gt; TrafficLight::Red,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;16..=18 =&amp;gt; TrafficLight::Yellow,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;19..=28 =&amp;gt; TrafficLight::Green,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;_ =&amp;gt; TrafficLight::Red,&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;};&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;match now {&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;TrafficLight::Red =&amp;gt; println!(&amp;quot;🔴 &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Duration: {}&amp;quot;, item),&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;TrafficLight::Yellow =&amp;gt; println!(&amp;quot;🟡 Duration: {}&amp;quot;, item - 15),&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;TrafficLight::Green =&amp;gt; println!(&amp;quot;🟢 Duration: {}&amp;quot;, item – 18),&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} sleep(Duration::from_millis(1000));&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;Ctrl+S&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This code simulates a traffic light system which changes colors at specified intervals.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''TrafficLight enum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; has 3 &amp;lt;/span&amp;gt;variants&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as Red, Yellow and Green.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The code imports the &amp;lt;/span&amp;gt;'''sleep'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function from the&amp;lt;/span&amp;gt;''' std:: thread '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;module.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Duration struct '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;from the&amp;lt;/span&amp;gt;''' std::time '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;module is used to create pauses in the loop.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;'''main'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function begins with an infinite loop.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;'''for'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; loop iterates over the range from&amp;lt;/span&amp;gt;''' '''1 to 28,&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in the reverse order.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that''' .rev() '''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;means reverse order&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;'''match'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statement assigns a value to the variable &amp;lt;/span&amp;gt;'''now'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; based on the current &amp;lt;/span&amp;gt;'''item'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; value&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The range values are assigned to red, yellow and green.&lt;br /&gt;
&lt;br /&gt;
'''match'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statement is used to print the current color of the traffic light along with the duration.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After printing &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;the traffic light status, the program pauses for 1 second i.e (1000 milliseconds) .&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Then the loop &amp;lt;/span&amp;gt;continues&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the terminal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
press '''Ctrl''' and''' C''' keys &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can see that traffic light color and its duration running continuously.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To terminate the program, press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ctrl'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' C'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; keys together.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learn about&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enums'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an Assignment, do the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Define an '''enum''' '''Operation''' with variants: '''Add, &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Subtract&amp;lt;/span&amp;gt;, Multiply, and Divide.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write a function '''calculate''' with two f64 numbers and one '''Operation'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Function returns the f64 result.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In the main function, call '''calculate''' with different operations and print the results.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 9'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thank you for joining.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Functions/English</id>
		<title>Rust-Programming-Language/C2/Functions/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Functions/English"/>
				<updated>2025-08-12T06:43:51Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Functions '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Functions&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;3'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This tutorial&amp;lt;/span&amp;gt; is recorded&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust 1.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;4'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You should be familiar with compiling and running &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust &amp;lt;/span&amp;gt;program&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt; '''5'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code File'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code files &amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; required to practise this tutorial&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Th&amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; files &amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; provided in the code files link of this tutorial page&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Functions'''&lt;br /&gt;
|| &lt;br /&gt;
* It &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is a set of statements to perform a specific task&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Functions organize the program into logical blocks of code.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Functions &amp;lt;/span&amp;gt;make&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the code reusable.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It structures your programs and makes them more readable and maintainable.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Function - Example'''&lt;br /&gt;
// define a function&lt;br /&gt;
fn greet() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
//function call&lt;br /&gt;
greet();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, we have created a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' greet()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function that prints &amp;quot;Hello, World!&amp;quot; .&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To invoke the created function, we need to make a function call.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Notice that we are calling the function from inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In Rust, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main() '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is also a function known as a built-in function that has a special meaning. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''visual code editor&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see a terminal window at the bottom.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;gt; cd '''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new functions'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new functions '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;copy and paste the code from the code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// define an add function that takes in two parameters&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn add(a: i32, b: i32) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let sum = a + b;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Sum of a and b = {}&amp;quot;, sum);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// call add function with arguments&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;add(12, 10);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this example, the add function takes 2 parameters and gives the sum as output.&lt;br /&gt;
&lt;br /&gt;
Here, a and b are function parameters.&lt;br /&gt;
&lt;br /&gt;
i32 is the data type of parameters.&lt;br /&gt;
&lt;br /&gt;
12 and 10 are known as function arguments that are passed to the '''add''' function.&lt;br /&gt;
&lt;br /&gt;
That means 12 is assigned to a and 10 is assigned to b.&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It prints the sum of a and b as 22.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see an example for a function with return value.&lt;br /&gt;
&lt;br /&gt;
Replace the code as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
fn area(length: i32, breadth: i32) -&amp;gt; i32 {&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;length * breadth&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
let k = area(5, 6);&lt;br /&gt;
println!(&amp;quot;Area of the rectangle = {k}&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Change the program to return length*breadth&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
In this example, we define a function to calculate the area of a rectangle. &lt;br /&gt;
&lt;br /&gt;
The area function takes two parameters, length and breadth, both of type i32. &lt;br /&gt;
&lt;br /&gt;
'''-&amp;gt; i32 -''' right arrow i32 before the opening curly bracket indicates the function's return type. &lt;br /&gt;
&lt;br /&gt;
It returns an i32 value representing the area of the rectangle.&lt;br /&gt;
&lt;br /&gt;
In the next line, notice the lack of a semicolon after length * breadth.&lt;br /&gt;
&lt;br /&gt;
In Rust, the absence of a semicolon signifies that this line is an expression.&lt;br /&gt;
&lt;br /&gt;
The result value is returned by the function. &lt;br /&gt;
&lt;br /&gt;
Save the file and run the program. &lt;br /&gt;
&lt;br /&gt;
We can see the output as the area of the rectangle is 30.&lt;br /&gt;
&lt;br /&gt;
Now let us add a semicolon at the end of length into Breadth statement .&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | Let us run the program and see how the program works.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
It would not return a value and cause a compilation error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;This time we get an error, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''remove this semicolon to return this value.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is because it is being considered as a '''statement''' and not as a '''return''' value.&lt;br /&gt;
&lt;br /&gt;
You can use either conventions&amp;amp;nbsp;* &amp;lt;div style=&amp;quot;margin-left:2.018cm;margin-right:0cm;&amp;quot;&amp;gt;length*breadth without semicolon or&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:2.018cm;margin-right:0cm;&amp;quot;&amp;gt;return length*breadth with semicolon&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for returning the value.&lt;br /&gt;
&lt;br /&gt;
Save the file and run the program&lt;br /&gt;
&lt;br /&gt;
We can observe that the area of the rectangle is 30.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 11'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Functions'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 12'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an Assignment, do the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; file&amp;lt;/span&amp;gt;&lt;br /&gt;
*** Create a '''function''' that accepts a '''number '''as a''' parameter'''&lt;br /&gt;
*** Print '''EVEN '''if the number is even&lt;br /&gt;
*** Else print '''ODD'''&lt;br /&gt;
* '''Compile '''and '''execute '''the project.&lt;br /&gt;
* Observe the output in the '''Terminal'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 18'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Functions/English</id>
		<title>Rust-Programming-Language/C2/Functions/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Functions/English"/>
				<updated>2025-08-12T06:43:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |-  || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Functions '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Functions&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;3'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This tutorial&amp;lt;/span&amp;gt; is recorded&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust 1.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;4'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You should be familiar with compiling and running &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust &amp;lt;/span&amp;gt;program&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt; '''5'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code File'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code files &amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; required to practise this tutorial&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Th&amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; files &amp;lt;/span&amp;gt;is&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; provided in the code files link of this tutorial page&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
&lt;br /&gt;
'''Functions'''&lt;br /&gt;
|| &lt;br /&gt;
* It &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is a set of statements to perform a specific task&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Functions organize the program into logical blocks of code.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Functions &amp;lt;/span&amp;gt;make&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the code reusable.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It structures your programs and makes them more readable and maintainable.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''Function - Example'''&lt;br /&gt;
// define a function&lt;br /&gt;
fn greet() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
//function call&lt;br /&gt;
greet();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, we have created a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' greet()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function that prints &amp;quot;Hello, World!&amp;quot; .&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To invoke the created function, we need to make a function call.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Notice that we are calling the function from inside &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main()'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In Rust, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main() '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is also a function known as a built-in function that has a special meaning. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''visual code editor&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see a terminal window at the bottom.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;gt; cd '''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new functions'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new functions '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;copy and paste the code from the code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// define an add function that takes in two parameters&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn add(a: i32, b: i32) {&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let sum = a + b;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Sum of a and b = {}&amp;quot;, sum);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;// call add function with arguments&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;add(12, 10);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this example, the add function takes 2 parameters and gives the sum as output.&lt;br /&gt;
&lt;br /&gt;
Here, a and b are function parameters.&lt;br /&gt;
&lt;br /&gt;
i32 is the data type of parameters.&lt;br /&gt;
&lt;br /&gt;
12 and 10 are known as function arguments that are passed to the '''add''' function.&lt;br /&gt;
&lt;br /&gt;
That means 12 is assigned to a and 10 is assigned to b.&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It prints the sum of a and b as 22.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see an example for a function with return value.&lt;br /&gt;
&lt;br /&gt;
Replace the code as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
fn area(length: i32, breadth: i32) -&amp;gt; i32 {&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;length * breadth&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
let k = area(5, 6);&lt;br /&gt;
println!(&amp;quot;Area of the rectangle = {k}&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Change the program to return length*breadth&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
In this example, we define a function to calculate the area of a rectangle. &lt;br /&gt;
&lt;br /&gt;
The area function takes two parameters, length and breadth, both of type i32. &lt;br /&gt;
&lt;br /&gt;
'''-&amp;gt; i32 -''' right arrow i32 before the opening curly bracket indicates the function's return type. &lt;br /&gt;
&lt;br /&gt;
It returns an i32 value representing the area of the rectangle.&lt;br /&gt;
&lt;br /&gt;
In the next line, notice the lack of a semicolon after length * breadth.&lt;br /&gt;
&lt;br /&gt;
In Rust, the absence of a semicolon signifies that this line is an expression.&lt;br /&gt;
&lt;br /&gt;
The result value is returned by the function. &lt;br /&gt;
&lt;br /&gt;
Save the file and run the program. &lt;br /&gt;
&lt;br /&gt;
We can see the output as the area of the rectangle is 30.&lt;br /&gt;
&lt;br /&gt;
Now let us add a semicolon at the end of length into Breadth statement .&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | Let us run the program and see how the program works.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
It would not return a value and cause a compilation error.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;This time we get an error, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''remove this semicolon to return this value.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is because it is being considered as a '''statement''' and not as a '''return''' value.&lt;br /&gt;
&lt;br /&gt;
You can use either conventions&amp;amp;nbsp;* &amp;lt;div style=&amp;quot;margin-left:2.018cm;margin-right:0cm;&amp;quot;&amp;gt;length*breadth without semicolon or&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:2.018cm;margin-right:0cm;&amp;quot;&amp;gt;return length*breadth with semicolon&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
for returning the value.&lt;br /&gt;
&lt;br /&gt;
Save the file and run the program&lt;br /&gt;
&lt;br /&gt;
We can observe that the area of the rectangle is 30.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 11'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Functions'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 12'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an Assignment, do the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; file&amp;lt;/span&amp;gt;&lt;br /&gt;
 Create a '''function''' that accepts a '''number '''as a''' parameter'''&lt;br /&gt;
*** Print '''EVEN '''if the number is even&lt;br /&gt;
*** Else print '''ODD'''&lt;br /&gt;
* '''Compile '''and '''execute '''the project.&lt;br /&gt;
* Observe the output in the '''Terminal'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 18'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Thank you for joining.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Control-Flow/English</id>
		<title>Rust-Programming-Language/C2/Control-Flow/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Control-Flow/English"/>
				<updated>2025-08-11T09:04:28Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |-  || '''Slide 1''' || &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00000...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|| '''Slide 1'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Control Flow '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide 2'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* Control Flow Statement &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;3'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This tutorial&amp;lt;/span&amp;gt; is recorded&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust 1.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;80&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide &amp;lt;/span&amp;gt;4'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisites'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You should be familiar with compiling and running Rust files&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide'''&amp;lt;/span&amp;gt; '''5'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code Files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code file is required to practise this tutorial&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This file is provided in the code files link of this tutorial page&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| W&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;e will see about conditional statements in Rust.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.136cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Slide&amp;lt;/span&amp;gt; 6'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Conditional Statements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust supports &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;if &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;else if &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
statements &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;for making decisions based on conditions.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;always returns a boolean value.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''code editor'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''visual code editor'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; understand the control &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;statements&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; with examples.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' New Terminal'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see a terminal window at the bottom.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;gt; cd '''MyRustProject'''&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt;''' '''cargo new functions'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new controlflow '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;file, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;copy and paste the code from the code file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() { &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let n = 100; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;if n&amp;gt;100{ &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Greater than 100&amp;quot;); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}else if n==100{ &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Equal to 100&amp;quot;); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}else { &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Smaller than 100&amp;quot;); &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} &amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us look at this example &amp;lt;/span&amp;gt;for an''' if else'''&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statement.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If n is greater than 100, it &amp;lt;/span&amp;gt;prints a&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;“greater than 100”&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statement. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If n equals 100, the second print statement will be executed. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If n is less than 100, it prints &amp;lt;/span&amp;gt;“smaller than 100”&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You can include multiple &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''else if'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statements &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;to check multiple conditions in sequence. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The condition must be true to run the code wrapped to it.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''ctrl and s '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to save the file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let us run the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| In the menu bar, click on '''Terminal''' and select '''New Terminal.'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;'''T&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;erminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;gt; cargo run&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal&amp;lt;/span&amp;gt;,&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to see the output.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output shows '''“equal to 100” '''as we assigned '''n '''as 100 in the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next let us see &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''loop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; statements in Rust.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide&lt;br /&gt;
&lt;br /&gt;
Loop&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A loop is used to repeat a block of code until the specified condition is met&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The loop keyword creates an infinite loop unless you explicitly break out of it&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust provides several ways to loop, including '''loop''', '''while''', and '''for'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Let us see an example for a '''loop''' program.&lt;br /&gt;
&lt;br /&gt;
Clear the code window and replace the code from the code file as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let mut count = 0;&lt;br /&gt;
loop {&lt;br /&gt;
count += 1;&lt;br /&gt;
println!(&amp;quot;Count: {}&amp;quot;, count);&lt;br /&gt;
if count == 5 {&lt;br /&gt;
break;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
|| This example has a mutable variable named '''count''' which is assigned to the value 0.&lt;br /&gt;
&lt;br /&gt;
A loop is created in which it increases the '''count''' variable by 1.&lt;br /&gt;
&lt;br /&gt;
It prints the value of count in the current iteration. &lt;br /&gt;
&lt;br /&gt;
It will also check for the '''if '''statement condition. &lt;br /&gt;
&lt;br /&gt;
When the variable '''count''' will be equal to 5, it will stop executing and come out of the loop. &lt;br /&gt;
&lt;br /&gt;
If there is no if statement, it will execute infinitely.&lt;br /&gt;
&lt;br /&gt;
Press '''ctrl and s '''to save the file.&lt;br /&gt;
&lt;br /&gt;
Let us run the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
We can see the '''count''' variable is printed from 1 to 5. &lt;br /&gt;
&lt;br /&gt;
It stops executing when the '''count''' reaches 5.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see how the '''while''' loop works.&lt;br /&gt;
&lt;br /&gt;
Replace the code from the codefile with the '''while''' loop program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let mut counter = 1;&lt;br /&gt;
&lt;br /&gt;
// usage of while loop&lt;br /&gt;
&lt;br /&gt;
while counter &amp;lt; 6 {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, counter);&lt;br /&gt;
&lt;br /&gt;
counter += 1;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| The '''while''' loop runs as long as a condition is true.&lt;br /&gt;
&lt;br /&gt;
Here, the loop keeps running till the '''counter''' variable is less than 6. &lt;br /&gt;
&lt;br /&gt;
Inside the loop, we are increasing the value of the '''counter''' by 1.&lt;br /&gt;
&lt;br /&gt;
After the 5th iteration, the value of the '''counter''' will be 6.&lt;br /&gt;
&lt;br /&gt;
So the condition, '''counter''' '''&amp;lt; 6 '''becomes false and the loop is terminated.&lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
Check the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Next we will see about &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''For'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; loop.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 7'''&lt;br /&gt;
&lt;br /&gt;
'''For loop'''&lt;br /&gt;
||&lt;br /&gt;
* The '''for''' loop iterates over a range or a collection&lt;br /&gt;
* An '''iterator '''which provides a way to access elements one at a time.&lt;br /&gt;
* In a '''For''' loop, many collections like arrays, vectors, and ranges, implement the '''Iterator''' &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 8'''&lt;br /&gt;
&lt;br /&gt;
'''For loop -example'''&lt;br /&gt;
'''fn''' main() {&lt;br /&gt;
'''for''' n '''in''' 0..11 {&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, n);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|| The''' For''' loop has a definite start and endpoint with increment for each iteration.&lt;br /&gt;
&lt;br /&gt;
A range with two dots like 0..11 is inclusive on the left.&lt;br /&gt;
&lt;br /&gt;
i.e it starts at 0 and exclusive on the right. i.e ends at 10&lt;br /&gt;
&lt;br /&gt;
This program will print numbers from 0 to 10.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next let us see an example of a for loop with an iterator method.&lt;br /&gt;
&lt;br /&gt;
Clear the code window and copy and paste the code from the code file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| fn main() {&lt;br /&gt;
&lt;br /&gt;
let data = [2, 1, 17, 99, 34, 56];&lt;br /&gt;
&lt;br /&gt;
for i in data.iter(){&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{}&amp;quot;, i);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| In this code, we have an array '''‘data’''' containing five integers. &lt;br /&gt;
&lt;br /&gt;
The '''data.iter() '''method creates an iterator for the array '''data'''.&lt;br /&gt;
&lt;br /&gt;
The '''for''' loop takes each element produced by the iterator and binds it to the variable '''data'''. &lt;br /&gt;
&lt;br /&gt;
Inside the for loop, '''println''' is used to print the value of each element.&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
&lt;br /&gt;
Let us execute the program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
We can see the array elements are printed in sequence.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| We will learn some more concepts that work with a '''for''' loop.&lt;br /&gt;
&lt;br /&gt;
Let us see how to use a '''reverse''' method in the for loop.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''fn''' main() {&lt;br /&gt;
&lt;br /&gt;
for i in (1..=11).rev() {&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;{i}...&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
println!(&amp;quot;Launch!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Copy and paste the code from the code file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If we want the range to include 11 as well, we can write it as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''(1..&amp;lt;/span&amp;gt;&amp;lt;nowiki&amp;gt;=11).&amp;lt;/nowiki&amp;gt;''' &lt;br /&gt;
&lt;br /&gt;
This is known as an inclusive range.&lt;br /&gt;
&lt;br /&gt;
The '''rev() '''method is applied to the range to produce a reverse iterator. &lt;br /&gt;
&lt;br /&gt;
This means the numbers will be fetched in reverse order.&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
&lt;br /&gt;
Let us check the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run'''&lt;br /&gt;
&lt;br /&gt;
We can see the output displayed in the reverse order as expected.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 11'''&lt;br /&gt;
&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 12'''&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an Assignment, do the following:&lt;br /&gt;
&lt;br /&gt;
Write a program to print odd numbers between 11 and 1 using a for loop&lt;br /&gt;
*Hint: use Rev() method&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 18'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Data-types/English</id>
		<title>Rust-Programming-Language/C2/Data-types/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Data-types/English"/>
				<updated>2025-07-25T09:42:02Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;{| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;  &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt; | style=&amp;quot;colo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Welcome to the Spoken Tutorial on '''Data types''' in '''Rust.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objective'''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Data types&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| T&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;his tutorial is recorded using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ubuntu'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Linux OS version 22.04'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust 1.&amp;lt;/span&amp;gt;80&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 '''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You should be familiar with compiling and running a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;program&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The following code files are required to practise this tutorial&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;These files are provided in the code files link of this tutorial page&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | We will see about various data types in '''Rust'''.&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide:'''&lt;br /&gt;
&lt;br /&gt;
'''Rust - Data types '''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Every value in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Rust '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;is of a certain &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Type.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#252525;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust is a statically typed language that checks the types of variables at compile time.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#252525;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Compiler must know the type of all variables at compile time&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;This helps the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''compiler '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;to optimize for efficient and faster &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''runtime execution.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Slide:'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Scalar Type'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| Data types are divided as&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Scalar and Compound Types&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A Scalar Type is referred to as a single value. Rust has four Scalar Data types. They are&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:2.54cm;margin-right:0cm;&amp;quot;&amp;gt;Integers&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:2.54cm;margin-right:0cm;&amp;quot;&amp;gt;Float&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:2.54cm;margin-right:0cm;&amp;quot;&amp;gt;Boolean&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:2.54cm;margin-right:0cm;&amp;quot;&amp;gt;Character&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open '''Visual Studio Code '''editor&lt;br /&gt;
|| Let us open the '''Visual Studio Code editor'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open the terminal by pressing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ctrl+Tilde (~)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on''' Terminal''' and select''' New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|| In the menu bar, click on''' Terminal''' and select''' New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
We can see a terminal window at the bottom.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
Type at the prompt: &lt;br /&gt;
&lt;br /&gt;
'''cargo new datatypes'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new datatypes '''and press Enter&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Point to&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' main.rs file.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;file,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; copy and paste the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;from the codefile.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight according to narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() {&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let x: i32 = 100; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let y: u32 = 200;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let f: f64 = 3.14;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let flag: bool = true;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let character: char = 'R';&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Integer: {}&amp;quot;, x);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Integer: {}&amp;quot;, y);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Float: {}&amp;quot;, f);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Boolean: {}&amp;quot;, flag);&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;Character: {}&amp;quot;, character);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We use integer data types to store whole numbers.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;i''' '''specifies signed integer type i.e(it can store both positive or negative value)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''32 '''is the size of the data type i.e (it takes 32 bits of space in memory)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Integers can be of many types as i8, i16, i32, i64.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;u specifies the unsigned integer type i.e (it can only store positive integer values.)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If we try to store negative numbers to u32 type variables, we will get an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here, the '''f '''character represents a floating point number.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;32 and 64 represent the size in bits.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;A boolean data type can have two possible values: true or false.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''char''' represents the character type variable and we use single quotes to represent a character.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can also store special characters like $, &amp;amp; etc. using the character type.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | Let us compile and run the program and see the output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type '''cargo run.'''&lt;br /&gt;
&lt;br /&gt;
We can see the various data types printed as output.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide:'''&lt;br /&gt;
&lt;br /&gt;
'''Type Inference in Rust'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In Rust we can create variables without mentioning a data type&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;let x=50;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust will automatically set i32 as default type for integer by looking at the value 50.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This process is Type Inference.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide:'''&lt;br /&gt;
&lt;br /&gt;
'''Constants'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;const PI: f32 = 3.14159265358979323846; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;fn main() { &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let radius = 5.0; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;let circumference = 2.0 * PI * radius; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;println!(&amp;quot;The circumference of a circle with radius {} is {}&amp;quot;, radius, circumference); &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;} &amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;This is an example for constants.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#171717;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Constants are variables that are immutable and have a fixed value.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#171717;&amp;quot;&amp;gt;They are declared using the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#171717;&amp;quot;&amp;gt;'''const'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#171717;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#171717;&amp;quot;&amp;gt;keyword. &amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#171717;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You must declare the type of the value.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#171717;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
|| In this tutorial, we learnt about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Data types&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
let y: u32 = - 200;&lt;br /&gt;
println!(&amp;quot;Integer: {}&amp;quot;, y);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
|| As an assignment, do the following.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Run the above program&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Analyse the error and correct the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | Thank You&lt;br /&gt;
&lt;br /&gt;
We would like to thank '''Vishal Pokuri from VIT Vellore '''for content contribution.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #252525;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.123cm;padding-right:0.176cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python_for_Machine_Learning</id>
		<title>Python for Machine Learning</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python_for_Machine_Learning"/>
				<updated>2025-07-18T11:45:57Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Machine Learning is considered as a transformative field of artificial intelligence that enables systems to learn from data, identify patterns, and make decisions with minimal human intervention.&lt;br /&gt;
&lt;br /&gt;
Python's simplicity, flexibility, and extensive ecosystem make it the language of choice for machine learning, enabling developers and data scientists to build intelligent systems with ease, speed, and accuracy. Python offers a complete toolbox for every stage of the machine learning pipeline. Beyond model development, Python empowers you to visualize data insights with libraries like Matplotlib and Seaborn, assess algorithm performance through confusion matrices and ROC curves, and apply deep learning techniques using powerful frameworks such as TensorFlow and PyTorch.&lt;br /&gt;
&lt;br /&gt;
In this Python for Machine Learning series, we will explore core concepts, practical techniques, and essential libraries that form the foundation of modern machine learning workflows. If you're a beginner stepping into AI or an experienced developer looking to deepen your skills, this series will guide you through hands-on examples and best practices to unlock the full potential of Python in machine learning.&lt;br /&gt;
&lt;br /&gt;
The contributors who helped to create the outline, transcribe, code, and record the tutorials are '''Anvita Thadavoose Manjummel''' and '''Harini Theiveegan''' under the guidance of '''Dr. T. Subbulakshmi''' and '''Dr. R. Bhargavi''', Professor, School of Computer Science and Engineering, Vellore Institute of Technology Chennai. The Spoken Tutorial Effort for Python for Machine Learning is being contributed by ''' Ms. Nirmala Venkat''' and '''Ms.Madhuri Ganapathi''' from the Spoken Tutorial project, Indian Institute of Technology Bombay.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==Basic Level==&lt;br /&gt;
&lt;br /&gt;
'''1. Setup Python environment for Machine Learning'''&lt;br /&gt;
&lt;br /&gt;
*Installation of Miniconda in Ubuntu OS&lt;br /&gt;
*Creating a conda environment for Machine Learning&lt;br /&gt;
*Activating conda environment for Machine Learning&lt;br /&gt;
*Download MLpackage.txt file&lt;br /&gt;
*Install all the libraries available in the txt file in Ubuntu OS	&lt;br /&gt;
*Installing Jupyter Notebook in the Machine Learning environment&lt;br /&gt;
*Installing conda kernels in Machine Learning environment&lt;br /&gt;
*About Jupyter Notebook and its basics&lt;br /&gt;
*Import the Wine.csv dataset and display the first five rows&lt;br /&gt;
*Deactivate the conda environment&lt;br /&gt;
&lt;br /&gt;
'''2. K Nearest Neighbor Classification'''&lt;br /&gt;
*Introduction to Nearest Neighbors and K Nearest Neighbor&lt;br /&gt;
*Introduction to KNN classification&lt;br /&gt;
*Explanation about Iris dataset&lt;br /&gt;
*KNN working example using one of the iris feature&lt;br /&gt;
*Importing the necessary libraries&lt;br /&gt;
*Loading the Iris dataset&lt;br /&gt;
*Basic Data Exploration and Analysis&lt;br /&gt;
*Train and Test Split of dataset&lt;br /&gt;
*Choosing the K value using elbow method&lt;br /&gt;
*KNN classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation metrics using classification report&lt;br /&gt;
&lt;br /&gt;
'''3. K Nearest Neighbor Regression'''&lt;br /&gt;
*Introduction to K Nearest Neighbor Regression&lt;br /&gt;
*Various distance metrics used in KNN &lt;br /&gt;
*Importing the necessary libraries&lt;br /&gt;
*Loading the iris dataset&lt;br /&gt;
*Standard scaling of the dataset&lt;br /&gt;
*Train and Test Split of dataset&lt;br /&gt;
*Choosing the K value using elbow method&lt;br /&gt;
*KNN regression model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation using MSE and Adjusted R squared score&lt;br /&gt;
&lt;br /&gt;
'''4. Linear Regression '''&lt;br /&gt;
*About Linear Regression&lt;br /&gt;
*About Simple Linear Regression&lt;br /&gt;
*About Multiple Linear Regression&lt;br /&gt;
*About Evaluation Metrics&lt;br /&gt;
*Splitting the data into training and testing sets&lt;br /&gt;
*Implementing Simple Linear Regression model from scikit-learn&lt;br /&gt;
*Importing required Libraries  &lt;br /&gt;
*Loading the dataset  &lt;br /&gt;
*Evaluating the model’s accuracy&lt;br /&gt;
*Implementing Multiple Linear Regression model from scikit-learn&lt;br /&gt;
*Evaluating the model's accuracy&lt;br /&gt;
&lt;br /&gt;
'''5. Logistic Regression Binary Classification'''&lt;br /&gt;
*Introduction to Logistic Regression&lt;br /&gt;
*Introduction to Binary classification&lt;br /&gt;
*Introduction to Multi class classification&lt;br /&gt;
*About Purchase prediction&lt;br /&gt;
*Implementing Binary classification&lt;br /&gt;
*Model Instantiation of Binary Classification and Model training&lt;br /&gt;
*Prediction for Train Data - Verification for Binary Classification&lt;br /&gt;
*Predictions for Test Data for Binary Classification&lt;br /&gt;
*Calculate the ROC-AUC score on the training data&lt;br /&gt;
*Calculate the cross entropy loss for the training data&lt;br /&gt;
&lt;br /&gt;
'''6. Logistic Regression MultiClass Classification'''&lt;br /&gt;
*Implementing Multiclass classification&lt;br /&gt;
*Model Instantiation of Multiclass Classification and Model training&lt;br /&gt;
*Visualize this correlation using a heatmap&lt;br /&gt;
*Split the data into training and testing sets&lt;br /&gt;
*Build a multiclass classification model&lt;br /&gt;
*Prediction for Train Data - Verification for Multiclass Classification&lt;br /&gt;
*Predictions for Test Data for Multiclass Classification&lt;br /&gt;
*Compare the predicted with the actual test class&lt;br /&gt;
*Visualize the confusion matrix of the model&lt;br /&gt;
&lt;br /&gt;
==Intermediate Level==&lt;br /&gt;
&lt;br /&gt;
'''1. Decision Tree'''&lt;br /&gt;
*Introduction to Decision Tree&lt;br /&gt;
*Describing the dataset&lt;br /&gt;
*Importing required Libraries  &lt;br /&gt;
*Loading the dataset  &lt;br /&gt;
*Encoding Categorical Features&lt;br /&gt;
*Splitting the dataset into Training and Testing sets&lt;br /&gt;
*Training Decision Tree Classifier&lt;br /&gt;
*Evaluating the model's accuracy&lt;br /&gt;
*Plotting Confusion matrix&lt;br /&gt;
*Visualizing Decision Tree&lt;br /&gt;
&lt;br /&gt;
'''2. Artificial Neural Networks'''&lt;br /&gt;
*Introduction to Artificial Neural Networks&lt;br /&gt;
*Introduction to Multi-Layer Perceptron&lt;br /&gt;
*About ANN Architecture&lt;br /&gt;
*Explanation of Neuron Structure&lt;br /&gt;
*Importing necessary libraries&lt;br /&gt;
*Loading Breast Cancer dataset&lt;br /&gt;
*Basic Data Exploration and Analysis&lt;br /&gt;
*Train and Test split of dataset&lt;br /&gt;
*MLP Classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation of model’s performance&lt;br /&gt;
&lt;br /&gt;
'''3. Support Vector Machine'''&lt;br /&gt;
*About Support Vector Machine&lt;br /&gt;
*Introduction to Linear SVM &lt;br /&gt;
*Introduction to Non-Linear SVM&lt;br /&gt;
*Explanation of the California Housing dataset&lt;br /&gt;
*Importing necessary libraries&lt;br /&gt;
*Loading the dataset&lt;br /&gt;
*Label Encoding&lt;br /&gt;
*Train and Test Split of dataset&lt;br /&gt;
*Linear SVM classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation for Linear SVM classification&lt;br /&gt;
*Non-Linear (RBF) SVM classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation for Non-Linear (RBF) SVM classification&lt;br /&gt;
&lt;br /&gt;
'''4. K Means Clustering'''&lt;br /&gt;
*Introduction to K-means Clustering&lt;br /&gt;
*Working of K-means Clustering&lt;br /&gt;
*Description about Silhouette Score &lt;br /&gt;
*Description about the customers dataset&lt;br /&gt;
*Importing required Libraries  &lt;br /&gt;
*Loading the dataset  &lt;br /&gt;
*Data Exploration&lt;br /&gt;
*Finding optimal number of clusters&lt;br /&gt;
*Instantiating K-means Clustering model&lt;br /&gt;
*Clustering the data &lt;br /&gt;
*Visualizing the Clusters for the Data&lt;br /&gt;
&lt;br /&gt;
'''5. Random Forest'''&lt;br /&gt;
*Introduction to Ensemble Learning&lt;br /&gt;
*Introduction to Random Forest&lt;br /&gt;
*Importing Libraries&lt;br /&gt;
*Loading the dataset&lt;br /&gt;
*Data Preprocessing&lt;br /&gt;
*Train and Test Split&lt;br /&gt;
*Model Instantiation of Random Forest and Model training&lt;br /&gt;
*Prediction for Train Data - Verification for Random Forest&lt;br /&gt;
*Predictions for Test Data for Random Forest&lt;br /&gt;
*MSE and Adjusted R square score for Random Forest&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python_for_Machine_Learning</id>
		<title>Python for Machine Learning</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python_for_Machine_Learning"/>
				<updated>2025-07-18T11:44:59Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Machine Learning is considered as a transformative field of artificial intelligence that enables systems to learn from data, identify patterns, and make decisions with minimal human intervention.&lt;br /&gt;
&lt;br /&gt;
Python's simplicity, flexibility, and extensive ecosystem make it the language of choice for machine learning, enabling developers and data scientists to build intelligent systems with ease, speed, and accuracy. Python offers a complete toolbox for every stage of the machine learning pipeline. Beyond model development, Python empowers you to visualize data insights with libraries like Matplotlib and Seaborn, assess algorithm performance through confusion matrices and ROC curves, and apply deep learning techniques using powerful frameworks such as TensorFlow and PyTorch.&lt;br /&gt;
&lt;br /&gt;
In this Python for Machine Learning series, we will explore core concepts, practical techniques, and essential libraries that form the foundation of modern machine learning workflows. If you're a beginner stepping into AI or an experienced developer looking to deepen your skills, this series will guide you through hands-on examples and best practices to unlock the full potential of Python in machine learning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The contributors who helped to create the outline, transcribe, code, and record the tutorials are '''Anvita Thadavoose Manjummel''' and '''Harini Theiveegan''' under the guidance of '''Dr. T. Subbulakshmi''' and '''Dr. R. Bhargavi''', Professor, School of Computer Science and Engineering, Vellore Institute of Technology Chennai. The Spoken Tutorial Effort for Python for Machine Learning is being contributed by ''' Ms. Nirmala Venkat''' and '''Ms.Madhuri Ganapathi''' from the Spoken Tutorial project, Indian Institute of Technology Bombay.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__ &lt;br /&gt;
&lt;br /&gt;
==Basic Level==&lt;br /&gt;
&lt;br /&gt;
'''1. Setup Python environment for Machine Learning'''&lt;br /&gt;
&lt;br /&gt;
*Installation of Miniconda in Ubuntu OS&lt;br /&gt;
*Creating a conda environment for Machine Learning&lt;br /&gt;
*Activating conda environment for Machine Learning&lt;br /&gt;
*Download MLpackage.txt file&lt;br /&gt;
*Install all the libraries available in the txt file in Ubuntu OS	&lt;br /&gt;
*Installing Jupyter Notebook in the Machine Learning environment&lt;br /&gt;
*Installing conda kernels in Machine Learning environment&lt;br /&gt;
*About Jupyter Notebook and its basics&lt;br /&gt;
*Import the Wine.csv dataset and display the first five rows&lt;br /&gt;
*Deactivate the conda environment&lt;br /&gt;
&lt;br /&gt;
'''2. K Nearest Neighbor Classification'''&lt;br /&gt;
*Introduction to Nearest Neighbors and K Nearest Neighbor&lt;br /&gt;
*Introduction to KNN classification&lt;br /&gt;
*Explanation about Iris dataset&lt;br /&gt;
*KNN working example using one of the iris feature&lt;br /&gt;
*Importing the necessary libraries&lt;br /&gt;
*Loading the Iris dataset&lt;br /&gt;
*Basic Data Exploration and Analysis&lt;br /&gt;
*Train and Test Split of dataset&lt;br /&gt;
*Choosing the K value using elbow method&lt;br /&gt;
*KNN classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation metrics using classification report&lt;br /&gt;
&lt;br /&gt;
'''3. K Nearest Neighbor Regression'''&lt;br /&gt;
*Introduction to K Nearest Neighbor Regression&lt;br /&gt;
*Various distance metrics used in KNN &lt;br /&gt;
*Importing the necessary libraries&lt;br /&gt;
*Loading the iris dataset&lt;br /&gt;
*Standard scaling of the dataset&lt;br /&gt;
*Train and Test Split of dataset&lt;br /&gt;
*Choosing the K value using elbow method&lt;br /&gt;
*KNN regression model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation using MSE and Adjusted R squared score&lt;br /&gt;
&lt;br /&gt;
'''4. Linear Regression '''&lt;br /&gt;
*About Linear Regression&lt;br /&gt;
*About Simple Linear Regression&lt;br /&gt;
*About Multiple Linear Regression&lt;br /&gt;
*About Evaluation Metrics&lt;br /&gt;
*Splitting the data into training and testing sets&lt;br /&gt;
*Implementing Simple Linear Regression model from scikit-learn&lt;br /&gt;
*Importing required Libraries  &lt;br /&gt;
*Loading the dataset  &lt;br /&gt;
*Evaluating the model’s accuracy&lt;br /&gt;
*Implementing Multiple Linear Regression model from scikit-learn&lt;br /&gt;
*Evaluating the model's accuracy&lt;br /&gt;
&lt;br /&gt;
'''5. Logistic Regression Binary Classification'''&lt;br /&gt;
*Introduction to Logistic Regression&lt;br /&gt;
*Introduction to Binary classification&lt;br /&gt;
*Introduction to Multi class classification&lt;br /&gt;
*About Purchase prediction&lt;br /&gt;
*Implementing Binary classification&lt;br /&gt;
*Model Instantiation of Binary Classification and Model training&lt;br /&gt;
*Prediction for Train Data - Verification for Binary Classification&lt;br /&gt;
*Predictions for Test Data for Binary Classification&lt;br /&gt;
*Calculate the ROC-AUC score on the training data&lt;br /&gt;
*Calculate the cross entropy loss for the training data&lt;br /&gt;
&lt;br /&gt;
'''6. Logistic Regression MultiClass Classification'''&lt;br /&gt;
*Implementing Multiclass classification&lt;br /&gt;
*Model Instantiation of Multiclass Classification and Model training&lt;br /&gt;
*Visualize this correlation using a heatmap&lt;br /&gt;
*Split the data into training and testing sets&lt;br /&gt;
*Build a multiclass classification model&lt;br /&gt;
*Prediction for Train Data - Verification for Multiclass Classification&lt;br /&gt;
*Predictions for Test Data for Multiclass Classification&lt;br /&gt;
*Compare the predicted with the actual test class&lt;br /&gt;
*Visualize the confusion matrix of the model&lt;br /&gt;
&lt;br /&gt;
==Intermediate Level==&lt;br /&gt;
&lt;br /&gt;
'''1. Decision Tree'''&lt;br /&gt;
*Introduction to Decision Tree&lt;br /&gt;
*Describing the dataset&lt;br /&gt;
*Importing required Libraries  &lt;br /&gt;
*Loading the dataset  &lt;br /&gt;
*Encoding Categorical Features&lt;br /&gt;
*Splitting the dataset into Training and Testing sets&lt;br /&gt;
*Training Decision Tree Classifier&lt;br /&gt;
*Evaluating the model's accuracy&lt;br /&gt;
*Plotting Confusion matrix&lt;br /&gt;
*Visualizing Decision Tree&lt;br /&gt;
&lt;br /&gt;
'''2. Artificial Neural Networks'''&lt;br /&gt;
*Introduction to Artificial Neural Networks&lt;br /&gt;
*Introduction to Multi-Layer Perceptron&lt;br /&gt;
*About ANN Architecture&lt;br /&gt;
*Explanation of Neuron Structure&lt;br /&gt;
*Importing necessary libraries&lt;br /&gt;
*Loading Breast Cancer dataset&lt;br /&gt;
*Basic Data Exploration and Analysis&lt;br /&gt;
*Train and Test split of dataset&lt;br /&gt;
*MLP Classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation of model’s performance&lt;br /&gt;
&lt;br /&gt;
'''3. Support Vector Machine'''&lt;br /&gt;
*About Support Vector Machine&lt;br /&gt;
*Introduction to Linear SVM &lt;br /&gt;
*Introduction to Non-Linear SVM&lt;br /&gt;
*Explanation of the California Housing dataset&lt;br /&gt;
*Importing necessary libraries&lt;br /&gt;
*Loading the dataset&lt;br /&gt;
*Label Encoding&lt;br /&gt;
*Train and Test Split of dataset&lt;br /&gt;
*Linear SVM classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation for Linear SVM classification&lt;br /&gt;
*Non-Linear (RBF) SVM classification model building&lt;br /&gt;
*Model prediction and outcome&lt;br /&gt;
*Evaluation for Non-Linear (RBF) SVM classification&lt;br /&gt;
&lt;br /&gt;
'''4. K Means Clustering'''&lt;br /&gt;
*Introduction to K-means Clustering&lt;br /&gt;
*Working of K-means Clustering&lt;br /&gt;
*Description about Silhouette Score &lt;br /&gt;
*Description about the customers dataset&lt;br /&gt;
*Importing required Libraries  &lt;br /&gt;
*Loading the dataset  &lt;br /&gt;
*Data Exploration&lt;br /&gt;
*Finding optimal number of clusters&lt;br /&gt;
*Instantiating K-means Clustering model&lt;br /&gt;
*Clustering the data &lt;br /&gt;
*Visualizing the Clusters for the Data&lt;br /&gt;
&lt;br /&gt;
'''5. Random Forest'''&lt;br /&gt;
*Introduction to Ensemble Learning&lt;br /&gt;
*Introduction to Random Forest&lt;br /&gt;
**Importing Libraries&lt;br /&gt;
*Loading the dataset&lt;br /&gt;
*Data Preprocessing&lt;br /&gt;
*Train and Test Split&lt;br /&gt;
*Model Instantiation of Random Forest and Model training&lt;br /&gt;
*Prediction for Train Data - Verification for Random Forest&lt;br /&gt;
*Predictions for Test Data for Random Forest&lt;br /&gt;
*MSE and Adjusted R square score for Random Forest&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python_for_Machine_Learning</id>
		<title>Python for Machine Learning</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python_for_Machine_Learning"/>
				<updated>2025-07-18T11:22:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;Machine Learning is considered as a transformative field of artificial intelligence that enables systems to learn from data, identify patterns, and make decisions with minimal...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Machine Learning is considered as a transformative field of artificial intelligence that enables systems to learn from data, identify patterns, and make decisions with minimal human intervention.&lt;br /&gt;
&lt;br /&gt;
Python's simplicity, flexibility, and extensive ecosystem make it the language of choice for machine learning, enabling developers and data scientists to build intelligent systems with ease, speed, and accuracy. Python offers a complete toolbox for every stage of the machine learning pipeline. Beyond model development, Python empowers you to visualize data insights with libraries like Matplotlib and Seaborn, assess algorithm performance through confusion matrices and ROC curves, and apply deep learning techniques using powerful frameworks such as TensorFlow and PyTorch.&lt;br /&gt;
&lt;br /&gt;
In this Python for Machine Learning series, we will explore core concepts, practical techniques, and essential libraries that form the foundation of modern machine learning workflows. If you're a beginner stepping into AI or an experienced developer looking to deepen your skills, this series will guide you through hands-on examples and best practices to unlock the full potential of Python in machine learning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The contributors who helped to create the outline, transcribe, code, and record the tutorials are '''Anvita Thadavoose Manjummel''' and '''Harini Theiveegan''' under the guidance of '''Dr. T. Subbulakshmi''' and '''Dr. R. Bhargavi''', Professor, School of Computer Science and Engineering, Vellore Institute of Technology Chennai. The Spoken Tutorial Effort for Python for Machine Learning is being contributed by ''' Ms. Nirmala Venkat''' and '''Ms.Madhuri Ganapathi''' from the Spoken Tutorial project, Indian Institute of Technology Bombay.&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Variables-and-Mutability/English</id>
		<title>Rust-Programming-Language/C2/Variables-and-Mutability/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Variables-and-Mutability/English"/>
				<updated>2025-07-14T08:20:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Variables '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' Mutability '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objective'''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Mutability&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| T&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;his tutorial is recorded using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ubuntu'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Linux OS version 22.04'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust 1.&amp;lt;/span&amp;gt;80&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 '''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You should be familiar with compiling and running a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;program&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
||&lt;br /&gt;
* The following code file required to practise this tutorial&lt;br /&gt;
* This file is provided in the Code Files link of this tutorial page&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
'''Variables'''&lt;br /&gt;
let a = 10; //immutable&lt;br /&gt;
let mut b=15;//mutable&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In Rust, we create variables using the '''let''' statement.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;By default, variables are immutable,meaning their values cannot be changed&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You can make them mutable by using '''mut'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open '''Visual Studio Code '''editor&lt;br /&gt;
|| Let us open the '''Visual Studio Code editor'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open the terminal by pressing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ctrl+Tilde (~)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on''' Terminal''' and select''' New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|| In the menu bar, click on''' Terminal''' and select''' New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
We can see a terminal window at the bottom.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Type at the prompt: &lt;br /&gt;
&lt;br /&gt;
'''cargo new variables'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Please refer to the '''Additional Reading material '''link of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
It explains the steps to create and run the project.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new variables '''and press Enter&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Point to&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' main.rs file.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Press Ctrl + C to copy '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Press Ctrl + V to paste'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;file,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; copy and paste the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;from the codefile.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight the code according to narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main(){&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let a = 1;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(“The value of a is {}”,a);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;a=2;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(“The value of a is {}”,a);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''let'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; keyword is used to declare variables in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Rus'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;t.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here we have initialized the variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''a'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and assigned the value 1 to it.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;e are trying to reassign the value 2 to variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;After reassigning we are printing the variable’s value to see &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;what the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; value &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;contains&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Ctrl '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' S '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;to s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;ave the file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| In the menu bar, click on terminal and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Cargo build&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In the terminal, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo build&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;to compile the Cargo project.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Highlight the error&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here, we can see an error - '''cannot assign twice to immutable variable ‘a’.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Note that we &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;had mentioned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''variables '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;are &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''immutable '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;by default.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| So switch back to the '''program.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Type mut&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Let mut a=1;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Now, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''mut'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; in between &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''let'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''a.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here we are telling the compiler that the initialized variable is mutable.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Type cargo run&lt;br /&gt;
|| Save the file.&lt;br /&gt;
&lt;br /&gt;
In the terminal, type&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Highlight the output&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We can see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Both the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''initialized '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;and the modified values are printed successfully.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| Next let us see the shadowing of variables.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Shadowing'''&lt;br /&gt;
&lt;br /&gt;
|| Clear the code window and then copy and paste the code from the code file.&lt;br /&gt;
&lt;br /&gt;
Rust allows variable shadowing.&lt;br /&gt;
&lt;br /&gt;
Here the variable '''x''' is shadowing.&lt;br /&gt;
&lt;br /&gt;
Shadowing is to declare a new variable with the same name as a previous variable in the same scope.&lt;br /&gt;
&lt;br /&gt;
We can assign a new value to the new variable while the old variable remains unchanged.&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the output.&lt;br /&gt;
&lt;br /&gt;
It prints the value of x as 5 and 7 as the result of shadowing.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see the scope of the variables.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Scope of the variable'''&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
// scope of outer_var variable is inside the main function code block&lt;br /&gt;
&lt;br /&gt;
let outer_var = 100;&lt;br /&gt;
&lt;br /&gt;
// start of the inner code block&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
// scope of inner_var variable is only inside this new code block&lt;br /&gt;
&lt;br /&gt;
let inner_var = 200;&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;inner_var = {}&amp;quot;, inner_var);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// end of the inner code block&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;inner_var = {}&amp;quot;, inner_var);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;outer_var = {}&amp;quot;, outer_var);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Clear the code window.&lt;br /&gt;
&lt;br /&gt;
Copy and paste the code from the codefile.&lt;br /&gt;
&lt;br /&gt;
In this code, observe the declaration of variables '''outer_var '''and''' inner_var.'''&lt;br /&gt;
&lt;br /&gt;
Curly braces { } define the block scope where the variable access becomes restricted to local. &lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us check the output. Run the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see a compilation error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here we tried to print the '''inner_var '''outside of the inner code block.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;So the program will give an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us comment the print statement of '''inner_var''' in the outer block.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Run the program again to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the output displayed for '''outer_var '''as 100 and '''inner_var''' as 200.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This shows that any variable outside the braces will have global access.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
let x = 10; // Immutable variable&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;The value of x is: {}&amp;quot;, x);&lt;br /&gt;
&lt;br /&gt;
x = 20; &lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;The new value of x is: {}&amp;quot;, x);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| As an assignment, do the following.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Run the above program&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Analyse the error and correct the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | Thank You&lt;br /&gt;
&lt;br /&gt;
We would like to thank '''Vishal Pokuri from VIT Vellore '''for content contribution.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #252525;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.123cm;padding-right:0.176cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Variables-and-Mutability/English</id>
		<title>Rust-Programming-Language/C2/Variables-and-Mutability/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Variables-and-Mutability/English"/>
				<updated>2025-07-14T08:18:52Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Variables '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' Mutability '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 2'''&lt;br /&gt;
&lt;br /&gt;
'''Learning Objective'''&lt;br /&gt;
|| In this tutorial, we will learn about:&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Variables and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Mutability&amp;lt;/div&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 3'''&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| T&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;his tutorial is recorded using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ubuntu'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Linux OS version 22.04'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust 1.&amp;lt;/span&amp;gt;80&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.0 '''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual &amp;lt;/span&amp;gt;S&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tudio &amp;lt;/span&amp;gt;C&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ode 1.19.0'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 4'''&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites'''&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You should be familiar with compiling and running a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;program&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.189cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 5'''&lt;br /&gt;
&lt;br /&gt;
'''Code Files'''&lt;br /&gt;
||&lt;br /&gt;
* The following code file required to practise this tutorial&lt;br /&gt;
* This file is provided in the Code Files link of this tutorial page&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Slide 6'''&lt;br /&gt;
'''Variables'''&lt;br /&gt;
let a = 10; //immutable&lt;br /&gt;
let mut b=15;//mutable&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;In Rust, we create variables using the '''let''' statement.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;By default, variables are immutable,meaning their values cannot be changed&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You can make them mutable by using '''mut'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open '''Visual Studio Code '''editor&lt;br /&gt;
|| Let us open the '''Visual Studio Code editor'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open the terminal by pressing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Ctrl+Tilde (~)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on''' Terminal''' and select''' New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|| In the menu bar, click on''' Terminal''' and select''' New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
We can see a terminal window at the bottom.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Type at the prompt: &lt;br /&gt;
&lt;br /&gt;
'''cargo new variables'''&lt;br /&gt;
&lt;br /&gt;
|| Go to our working directory '''MyRustProject''' as explained earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Please refer to the '''Additional Reading material '''link of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
It explains the steps to create and run the project.&lt;br /&gt;
&lt;br /&gt;
Type the command '''cargo new variables '''and press Enter&lt;br /&gt;
&lt;br /&gt;
Open the created project as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Point to&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' main.rs file.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Press Ctrl + C to copy '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Press Ctrl + V to paste'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''main.rs '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;file,&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; copy and paste the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;'''code'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#252525;&amp;quot;&amp;gt;from the codefile.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Highlight the code according to narration&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;fn main(){&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;let a = 1;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(“The value of a is {}”,a);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;a=2;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;println!(“The value of a is {}”,a);&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;}&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''let'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; keyword is used to declare variables in &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Rus'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;t.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here we have initialized the variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''a'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and assigned the value 1 to it.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;e are trying to reassign the value 2 to variable &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''a&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;After reassigning we are printing the variable’s value to see &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;what the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; value &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;contains&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Ctrl '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;and&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;''' S '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;to s&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;ave the file.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| In the menu bar, click on terminal and select '''New Terminal.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Cargo build&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;In the terminal, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo build&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;to compile the Cargo project.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Highlight the error&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here, we can see an error - '''cannot assign twice to immutable variable ‘a’.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Note that we &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;had mentioned &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''variables '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;are &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''immutable '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;by default.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| So switch back to the '''program.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Type mut&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Let mut a=1;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Now, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''mut'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; in between &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''let'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''a.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Here we are telling the compiler that the initialized variable is mutable.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Type cargo run&lt;br /&gt;
|| Save the file.&lt;br /&gt;
&lt;br /&gt;
In the terminal, type&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | Highlight the output&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;We can see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Both the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''initialized '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;and the modified values are printed successfully.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#252525;&amp;quot; | &lt;br /&gt;
|| Next let us see the shadowing of variables.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Shadowing'''&lt;br /&gt;
&lt;br /&gt;
'''fn main() {'''&lt;br /&gt;
'''let x = 5;'''&lt;br /&gt;
'''println!(&amp;quot;x is {}&amp;quot;, x);'''&lt;br /&gt;
'''let x = x + 2;'''&lt;br /&gt;
'''println!(&amp;quot;x is {}&amp;quot;, x);'''&lt;br /&gt;
'''}'''&lt;br /&gt;
&lt;br /&gt;
|| Clear the code window and then copy and paste the code from the code file.&lt;br /&gt;
&lt;br /&gt;
Rust allows variable shadowing.&lt;br /&gt;
&lt;br /&gt;
Here the variable '''x''' is shadowing.&lt;br /&gt;
&lt;br /&gt;
Shadowing is to declare a new variable with the same name as a previous variable in the same scope.&lt;br /&gt;
&lt;br /&gt;
We can assign a new value to the new variable while the old variable remains unchanged.&lt;br /&gt;
&lt;br /&gt;
Save the file.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| In the terminal, type&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the output.&lt;br /&gt;
&lt;br /&gt;
It prints the value of x as 5 and 7 as the result of shadowing.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| Next we will see the scope of the variables.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Scope of the variable'''&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
&lt;br /&gt;
// scope of outer_var variable is inside the main function code block&lt;br /&gt;
&lt;br /&gt;
let outer_var = 100;&lt;br /&gt;
&lt;br /&gt;
// start of the inner code block&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
// scope of inner_var variable is only inside this new code block&lt;br /&gt;
&lt;br /&gt;
let inner_var = 200;&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;inner_var = {}&amp;quot;, inner_var);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// end of the inner code block&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;inner_var = {}&amp;quot;, inner_var);&lt;br /&gt;
&lt;br /&gt;
println!(&amp;quot;outer_var = {}&amp;quot;, outer_var);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| Clear the code window.&lt;br /&gt;
&lt;br /&gt;
Copy and paste the code from the codefile.&lt;br /&gt;
&lt;br /&gt;
In this code, observe the declaration of variables '''outer_var '''and''' inner_var.'''&lt;br /&gt;
&lt;br /&gt;
Curly braces { } define the block scope where the variable access becomes restricted to local. &lt;br /&gt;
&lt;br /&gt;
Save the program.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us check the output. Run the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see a compilation error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Here we tried to print the '''inner_var '''outside of the inner code block.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;So the program will give an error.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us comment the print statement of '''inner_var''' in the outer block.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Run the program again to see the output.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the output displayed for '''outer_var '''as 100 and '''inner_var''' as 200.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This shows that any variable outside the braces will have global access.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
|| This brings us to the end of this tutorial.&lt;br /&gt;
&lt;br /&gt;
Let us summarize. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
fn main() {&lt;br /&gt;
let x = 10; // Immutable variable&lt;br /&gt;
println!(&amp;quot;The value of x is: {}&amp;quot;, x);&lt;br /&gt;
x = 20; &lt;br /&gt;
println!(&amp;quot;The new value of x is: {}&amp;quot;, x);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
|| As an assignment, do the following.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Run the above program&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Analyse the error and correct the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.206cm;padding-right:0.191cm;&amp;quot; | Thank You&lt;br /&gt;
&lt;br /&gt;
We would like to thank '''Vishal Pokuri from VIT Vellore '''for content contribution.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #252525;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.123cm;padding-right:0.176cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:-1.588cm;margin-right:-1.429cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Hello-World-using-Cargo/English</id>
		<title>Rust-Programming-Language/C2/Hello-World-using-Cargo/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Hello-World-using-Cargo/English"/>
				<updated>2025-07-10T09:32:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Hello World using Cargo.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn how to&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a cargo project&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Write a Hello world rust program&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Compile and Run the &amp;lt;/span&amp;gt;cargo project&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| T&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;his tutorial&amp;lt;/span&amp;gt; is recorded &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;using&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Rust version 1.80.0 &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Visual studio code version 1.19.0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
Prerequisite&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;You must have basic knowledge of any programming language&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;You should also have &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Rust '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;installed on your system.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;amp;nbsp;Slide: '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''About Cargo'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Cargo '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;is a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust build system'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''package manager'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Cargo handles the compilation process&amp;lt;/span&amp;gt; and automates&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; the building of &amp;lt;/span&amp;gt;your project.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Cargo allows you at add and manage external libraries&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the Cargo.toml&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file, you can list your dependencies.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Complex '''Rust '''programs need these '''dependencies''' to develop '''Rust projects'''&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open Visual code editor&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us open the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual Studio Code editor.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and select&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see a terminal window at the bottom.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Create direcotry &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;gt;mkdir Desktop/MyRustProject&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;gt;cd Desktop/MyRustProject&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us create a directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;on the&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; desktop.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;type as shown to create a directory &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
We will save all the Rust Projects in this directory required for this series.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new hellowor&amp;lt;/span&amp;gt;ld'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the command &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo new hellowor&amp;lt;/span&amp;gt;ld'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;A binary cargo application has been created.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click File&amp;gt;&amp;gt; Open folder&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Select hello folder under MyRustPRoject&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Open the created project by clicking on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''File'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; menu in the menu bar and then &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Open folder.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Go to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; and then select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''MyRustProject'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Locate the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''helloworld'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; folder.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;Then click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''open'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; button at the top right corner.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Click src folder&amp;gt; main.rs'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the left panel,under the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''EXPLORER'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; section, expand the project &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''hello'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; by clicking on it.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''src'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; folder, and you can see that a file called &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is created.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Click on it to open the file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;All the code has to be run using this particular file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''main.rs.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;By default, we can see a hello world program on the right panel.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Let us see the Rust program structure.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Highlight according to narration.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn main() {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;Hello, World!&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Every Rust program &amp;lt;/span&amp;gt;starts&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; with this &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''`main`'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Inside the curly braces &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''`{ ... }`'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Println '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;command prints the text hello world.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''semicolon `;`'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; at the end indicates the end of the command.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file by pressing &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ctrl + S.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us compile and run the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Click on terminal&amp;gt; new terminal&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the menu bar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''terminal'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''New Terminal.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that we are inside the cargo project .i.e '''helloworld'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''&amp;gt; cargo build'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal. type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo build '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to compile the Cargo project.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;When successfully compiled, we see a finished message.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''&amp;gt;cargo run'''&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;As the project is compiled successfully, it’s time to run the project.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Then type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Point to the output'''&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Now we see Hello world! printed in the terminal.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Type '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Println!&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;(“Welcome to Rust Spoken Tutorial”);'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Press Ctrl+s'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us add one more print statement in the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the code window, type a print statement “welcome to Rust spoken tutorial” as shown.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press &amp;lt;/span&amp;gt;c&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;trl+s to save the file.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''&amp;gt; cargo run'''&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''cargo run'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see both the text &amp;lt;/span&amp;gt;messages&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; as output.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
|| After switching back, I directly did a cargo run without compiling the project again.&lt;br /&gt;
&lt;br /&gt;
Did you notice that?&lt;br /&gt;
&lt;br /&gt;
When we do a '''cargo run, '''the '''package manager '''will '''build '''again and '''run '''the '''project'''.&lt;br /&gt;
&lt;br /&gt;
So going forward, we can directly use '''cargo run '''to '''build '''and '''run '''the '''project '''in one go.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | '''Click on cargo.toml'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;In the left panel, open the file &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Cargo.toml.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;We see two sections namely &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''package'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''dependencies.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This is where we can write all the project related information like name, version, authors, edition.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can even mention dependencies which the project depends upon.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| Slide:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Create a cargo project named''' assignment'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Print - “ Welcome to Rust Assignment”&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Compile and execute the project&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Observe the output in the Terminal&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.123cm;padding-right:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank you'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thank you for joining.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Installation-of-Rust-on-Linux/English</id>
		<title>Rust-Programming-Language/C2/Installation-of-Rust-on-Linux/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Rust-Programming-Language/C2/Installation-of-Rust-on-Linux/English"/>
				<updated>2025-07-10T09:26:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Title Slide'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken tutorial on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Installation of Rust on Linux.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| In this tutorial, we will learn how to&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.87cm;margin-right:0cm;&amp;quot;&amp;gt;Install Rust on Ubuntu Linux&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.87cm;margin-right:0cm;&amp;quot;&amp;gt;Set up an Integrated Development Environment &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.87cm;margin-right:0cm;&amp;quot;&amp;gt;Run a “Hello -World” Rust program&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''System Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| To record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:2.54cm;margin-right:0cm;&amp;quot;&amp;gt;Ubuntu Linux OS version 22.04&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:2.54cm;margin-right:0cm;&amp;quot;&amp;gt;Visual Studio Code&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Installation Requirements'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For the installation of Rust&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;A working internet connection is required&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Open the terminal by pressing ctrl alt and t keys simultaneously.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''curl --version'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;sudo apt install curl'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;First we need to check whether curl is installed in our system&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For that, Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''curl --version'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If you see information about c&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''url'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, it means &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''curl'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;installed.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;If you get an error, you have to install curl.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''sudo apt install curl'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Enter the password if prompted&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''curl --proto '=https' --tlsv1.2 -sSf &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;https://sh.rustup.rs | sh'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Once curl is installed, type the following command.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You will see a list of options. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Press 1 to proceed with default installation.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This will install modules and packages like &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;rustfmt, clippy.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;These will be useful for development and writing code.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Next, we will set up an &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Integrated Development Environment(IDE).'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''web'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''browser '''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;[https://www.nsnam.org/releases/ https://]&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;code.visualstudio.com&amp;lt;/u&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open any web browser.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the address bar type this link.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Visual Studio code page opens. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us download and install Visual Studio Code.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Download'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; button &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''.deb for Ubuntu.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Download'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; button on the top right corner of the window.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;You can see options for various operating systems.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;I will download a &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''.deb '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;file for&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' Ubuntu.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Right click'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; on the file select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''open with software install.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''install'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; button.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the system password.&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us go to the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' Downloads folder'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and locate the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' .deb file.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Right click on the file and select &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''open with software install.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''install'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; button.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Enter the system password to authenticate.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Once the installation is complete, close the window.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us open the Visual Studio code.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Go to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Show Applications '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;on the bottom left of your screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the search bar, type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual Studio code.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Visual Studio Code '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;to open the window.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Locate rust-analyzer and click on Install button.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;On the left toolbar, click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Extensions icon '''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Extensions panel '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;opens. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' Search bar '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;type, &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''rust-analyzer '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;and Press &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Enter'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;A list of options will appear&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Locate&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' rust-analyzer'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and click on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Install '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;button.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Once the installation is complete a blue tick mark appears.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Rust analyzer extension is used to autocomplete the code. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It makes the code more readable.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In the terminal, type&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;gt; rustc –version&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;1.79.0&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can verify the installation by running these commands on the terminal:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''rustc --version '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can see the Rust compiler version that has been installed.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;gt;cargo –version&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Type,'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cargo --version '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This will show the package manager and build system version.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &amp;gt; rustup –version&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Type'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''rustup --version '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This shows the rustup toolchain manager version.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/div&amp;gt;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | You have to restart the system after the rust installation is completed.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Open the text editor'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''fn main() {'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''println!(&amp;quot;Hello, World!&amp;quot;);'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''}'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Now, let's write our first &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Rust'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; program. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Open the text editor. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the following code.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Highlight according to narration'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;In this program, we will print “Hello, World!” &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Save the file by pressing C&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''trl + S.'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type the file name as &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Helloworld.rs'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and save it on the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt;cd Desktop'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; rustc Helloworld.rs'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''&amp;gt; ./Helloworld '''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Switch back to the terminal.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Go to the folder where we have saved the rust program&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''cd'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Desktop'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Then type,&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''rustc Helloworld.rs'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This will compile the program.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Type ./&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Helloworld'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; to run the program.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;We can&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;see the output: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Hello, World!'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | This shows we have successfully installed Rust and compiled and executed a program.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding:0cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Summary'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This brings us to the end of this tutorial.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Let us summarize. &amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #252525;padding-top:0.176cm;padding-bottom:0.176cm;padding-left:0.123cm;padding-right:0.176cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide: &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;color:#000000;&amp;quot; | Thank you for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:0cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/Random-Forest/English</id>
		<title>Python-for-Machine-Learning/C3/Random-Forest/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/Random-Forest/English"/>
				<updated>2025-07-04T10:20:18Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;   &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; {| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show slide:&amp;lt;/div&amp;gt;  &amp;lt;div s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Welcome'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Welcome to the Spoken Tutorial on&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' Random Forest'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Learning Objectives'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ensemble Learning and'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Random Forest'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|| To Record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ubuntu Linux operating system 2&amp;lt;/span&amp;gt;4&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;.04'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Jupyter Notebook'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''IDE'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisite'''&amp;lt;/span&amp;gt;&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The learner must have basic &amp;lt;/span&amp;gt;knowledge of&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;'''P&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;ython&amp;lt;/span&amp;gt;.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For pre-requisite &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; tutorials, please visit this website.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code files'''&amp;lt;/div&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The files used in this tutorial are provided in the '''Code files '''link.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#252525;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please download and extract the files.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#252525;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Make a copy and then use them while practicing.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Ensemble Learning'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ensemble learning'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; combines multiple models to improve performance.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It reduces errors by averaging predictions from different models.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;One popular ensemble method is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Random Forest'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, which uses decision trees.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Random Forest'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Random Forest'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; builds &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''multiple trees'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and takes the majority vote.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This improves accuracy and reduces overfitting compared to a single tree.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;It is widely used for &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''classification'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''regression'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; tasks.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the''' RandomForest.ipynb'''&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
'''RandomForest'''.'''ipynb''' is the python notebook file for the demonstration of Random Forest&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Press '''Ctrl,Alt and T''' keys &lt;br /&gt;
&lt;br /&gt;
Type '''conda activate ml'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
|| Let us open the Linux terminal. Press '''Ctrl, Alt''' and '''T '''keys together.&lt;br /&gt;
&lt;br /&gt;
Activate the machine learning environment by typing&lt;br /&gt;
&lt;br /&gt;
'''conda space activate''' '''space ml'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Go to the '''Downloads '''folder&lt;br /&gt;
&lt;br /&gt;
Type '''cd Downloads'''&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
Type '''jupyter notebook''' &lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
|| I have saved my code file in the '''Downloads '''folder.&lt;br /&gt;
&lt;br /&gt;
Please navigate to the respective folder of your code file location.&lt;br /&gt;
&lt;br /&gt;
Then type, '''jupyter space notebook '''and press Enter to open Jupyter Notebook.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show '''Jupyter Notebook Home page''':&lt;br /&gt;
&lt;br /&gt;
Click on '''RandomForest.ipynb''' file&lt;br /&gt;
|| We can see the '''Jupyter Notebook''' '''Home page''' has opened in the web browser.&lt;br /&gt;
&lt;br /&gt;
Click the''' RandomForest dot ipynb''' file to open it.&lt;br /&gt;
&lt;br /&gt;
Note that each cell will have the output displayed in this file.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''import pandas as pd'''&lt;br /&gt;
'''import numpy as np'''&lt;br /&gt;
'''from sklearn.metrics import accuracy_score'''&lt;br /&gt;
|| We start by importing the required libraries for the Random Forest model.&lt;br /&gt;
&lt;br /&gt;
Please remember to Execute each cell by pressing '''Shift and Enter''' to get output.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''california = fetch_california_housing() &amp;amp;nbsp; '''&lt;br /&gt;
&lt;br /&gt;
'''housing = pd.DataFrame(california.data, columns=california.feature_names) '''&lt;br /&gt;
&lt;br /&gt;
'''housing['MedHouseVal'] = california.target '''&lt;br /&gt;
|| We use the '''California Housing dataset''' from '''sklearn library.'''&lt;br /&gt;
&lt;br /&gt;
It has housing data from California districts.&lt;br /&gt;
&lt;br /&gt;
We analyze the dataset and predict the '''MedHouseValue'''.&lt;br /&gt;
&lt;br /&gt;
Now, we load the California Housing dataset into a Pandas DataFrame.&lt;br /&gt;
&lt;br /&gt;
We add the target column, '''MedHouseVal,''' which represents median house value.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing.head() '''&lt;br /&gt;
|| To check the dataset, we display the first few rows using the '''head function'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing.shape '''&lt;br /&gt;
&lt;br /&gt;
|| Next, we use the '''shape function''' to check the number of rows and columns.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing.info()'''&lt;br /&gt;
&lt;br /&gt;
|| Now, we print '''dataset details''' to understand its '''structure''' and '''statistics.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing_sorted = housing.sort_values(by=&amp;quot;HouseAge&amp;quot;)'''&lt;br /&gt;
&lt;br /&gt;
|| Let's visualize '''house age vs median value''' using a '''line plot'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the output:&lt;br /&gt;
&lt;br /&gt;
|| The plot shows newer homes have higher values, then prices stabilize.&lt;br /&gt;
&lt;br /&gt;
The shaded region represents '''price variability''' in different age groups.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''skewed_features = ['AveRooms', 'AveBedrms', 'Population', 'AveOccup'] '''&lt;br /&gt;
&lt;br /&gt;
|| Before training, we check for '''skewed features''' that may affect predictions.&lt;br /&gt;
&lt;br /&gt;
Next, we apply '''log transformation''' to reduce '''skewness''' in these features.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''scaler = StandardScaler()'''&lt;br /&gt;
&lt;br /&gt;
|| Now, we scale the feature values using '''StandardScaler'''.&lt;br /&gt;
&lt;br /&gt;
This ensures all features have a similar range for better modeling.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''x = housing.drop(columns=[&amp;quot;MedHouseVal&amp;quot;])'''&lt;br /&gt;
&lt;br /&gt;
'''x.head() '''&lt;br /&gt;
|| Then we separate the '''features''' by dropping the target column.&lt;br /&gt;
&lt;br /&gt;
After that, we display the first few rows to check the data.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
'''y = housing.MedHouseVal'''&lt;br /&gt;
'''y.head() '''&lt;br /&gt;
&lt;br /&gt;
|| Next, we extract the '''target variable''' and store it in '''y.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42) '''&lt;br /&gt;
|| Now, we split the dataset into '''training''' and '''testing sets.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''rf ='''&lt;br /&gt;
|| Next, we create a '''Random Forest Regressor''' with '''100 trees.'''&lt;br /&gt;
&lt;br /&gt;
Then, we train the model using the training data.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''y_train_pred = rf.predict(x_train) '''&lt;br /&gt;
&lt;br /&gt;
|| After training, we predict house values for the training set.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''training_mse ='''&lt;br /&gt;
|| Now, we compute the '''Mean Squared Error''' for training data.&lt;br /&gt;
&lt;br /&gt;
We also compute the '''adjusted R squared score''' for better evaluation.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the output:&lt;br /&gt;
|| The '''Training MSE '''is '''0.037''', showing a low prediction error.&lt;br /&gt;
&lt;br /&gt;
The '''Training Adjusted R squared Score''' is '''0.972'''.A high Adjusted R squared score suggests the model explains most variance.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''y_pred = rf.predict(x_test)'''&lt;br /&gt;
|| Now, we predict house prices for the test dataset.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''print(&amp;quot;Random Forest - Actual vs Predicted:&amp;quot;) '''&lt;br /&gt;
|| Next, we compare actual vs predicted values for the test set.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''test_mse = mean_squared_error(y_test,y_pred)'''&lt;br /&gt;
&lt;br /&gt;
|| After that, we calculate the '''MSE''' for the test predictions.&lt;br /&gt;
&lt;br /&gt;
Then, we compute the '''Adjusted R squared score''' for the test set.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the output&lt;br /&gt;
|| For the test set, the '''MSE''' is '''0.257''', indicating reasonable accuracy'''.'''&lt;br /&gt;
&lt;br /&gt;
The '''Test Adjusted R squared Score''' is '''0.804'''.&lt;br /&gt;
&lt;br /&gt;
A higher Adjusted R Squared score indicates a good fit.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''residuals = y_test - y_pred'''&lt;br /&gt;
'''plt.show()'''&lt;br /&gt;
&lt;br /&gt;
|| To further analyze performance, we examine the '''residuals'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the output:&lt;br /&gt;
|| Residuals are the difference between '''actual and predicted values.'''&lt;br /&gt;
&lt;br /&gt;
The red dashed line marks zero residuals for reference.&lt;br /&gt;
&lt;br /&gt;
Most residuals are near zero, meaning the prediction error is low.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''feature_importances = rf.feature_importances_'''&lt;br /&gt;
&lt;br /&gt;
'''plt.show()'''&lt;br /&gt;
|| Besides accuracy, we analyze '''feature importance''' to see key prediction factors.&lt;br /&gt;
&lt;br /&gt;
Feature importance shows how much each feature impacts predictions.&lt;br /&gt;
&lt;br /&gt;
Higher value mean a feature is more important for the model.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show the output:&lt;br /&gt;
|| The plot shows '''MedInc''' has the highest impact on house price predictions.&lt;br /&gt;
&lt;br /&gt;
Other features contribute less but still affect model performance.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Narration&lt;br /&gt;
|| Thus, we successfully built a '''Random Forest model''' for house price prediction.&lt;br /&gt;
&lt;br /&gt;
The model showed '''high accuracy''', indicating '''strong performance.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|| This brings us to the end of the tutorial. Let us summarize.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ensemble Learning and'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Random Forest'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
|| As an assignment, please do the following:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Replace the '''test_size parameter''' as shown here.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Observe the change in '''MSE '''and '''Adjusted R squared score'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment Solution'''&lt;br /&gt;
&lt;br /&gt;
'''Show x img'''&lt;br /&gt;
|| After completing the assignment, the output should match as the expected result.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
|| For any general or technical questions on '''Python for Machine Learning''', visit the '''FOSSEE forum''' and post your question.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
&lt;br /&gt;
|| This is''' Harini Theiveegan, '''a FOSSEE Summer Fellow 2025, IIT Bombay signing off.&lt;br /&gt;
&lt;br /&gt;
Thanks for joining &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C2/Logistic-Regression-Binary-Classification/English</id>
		<title>Python-for-Machine-Learning/C2/Logistic-Regression-Binary-Classification/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C2/Logistic-Regression-Binary-Classification/English"/>
				<updated>2025-07-03T12:51:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;  &amp;lt;div style=&amp;quot;margin-left:2.54cm;margin-right:  &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; {| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || Show sli...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:2.54cm;margin-right:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| Show slide: &lt;br /&gt;
&lt;br /&gt;
'''Welcome'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Logistic Regression - Binary Classification.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Logistic Regression&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Binary Classification&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;Multiclass Classification&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| To record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Ubuntu Linux '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;OS version&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;''' 24.04'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Jupyter Notebook '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;IDE&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide: &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The learner must have basic knowledge of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.905cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For pre-requisite &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; tutorials, please visit this website.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Code files'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The files used in this tutorial are provided in the '''Code files '''link.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please download and extract the files.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Make a copy and then use them while practicing.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Logistic Regression'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logistic regression is a machine learning algorithm used for classification tasks.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The goal is to predict a binary outcome (like yes/no, true/false) based on input features.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Logistic Regression'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Logistic regression uses the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''logit'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; function.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This function maps the linear combination of features to probabilities zero and one.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Slide:'''Types of classification'''&lt;br /&gt;
|| There are two types of classification. They are&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Binary Classification'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Multiclass Classification'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Binary classification'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Binary classification is used for modeling a binary target variable.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The target variable has only two possible outcomes.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Multiclass classification'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Multiclass classification is an extension of binary classification.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The target variable can have two or more possible outcomes.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Open the file ads.csv and point to the fields as per narration.&lt;br /&gt;
|| To implement the '''Binary classification model, '''we use the '''Ads dot csv '''dataset.&lt;br /&gt;
&lt;br /&gt;
Here, we analyze customers to predict if they will make a purchase in the store.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the '''LR_Binary.ipynb'''&lt;br /&gt;
|| '''LR underscore Binary''' '''dot ipynb '''is the python notebook file for this demonstration.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Press '''Ctrl+Alt'''+'''T '''keys&lt;br /&gt;
Type '''conda activate ml'''&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
|| Let us open the Linux terminal by pressing '''Ctrl,Alt''' and '''T '''keys together.&lt;br /&gt;
&lt;br /&gt;
Activate the machine learning environment as shown.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Type '''cd Downloads'''&lt;br /&gt;
&lt;br /&gt;
Type '''jupyter notebook'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter '''&lt;br /&gt;
|| I have saved my code file in the '''Downloads''' folder.&lt;br /&gt;
&lt;br /&gt;
Please navigate to the respective folder of your code file location.&lt;br /&gt;
&lt;br /&gt;
Then type, '''jupyter space notebook '''and press''' Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Jupyter Notebook Home page:&lt;br /&gt;
&lt;br /&gt;
Double Click on '''LR_Binary.ipynb '''file&lt;br /&gt;
|| We can see the '''Jupyter Notebook''' '''Home page''' has opened in the web browser.&lt;br /&gt;
&lt;br /&gt;
Click the '''LR underscore Binary dot ipynb '''file to open it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Note that each cell will have the output displayed in this file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''import pandas as pd '''&lt;br /&gt;
&lt;br /&gt;
'''import matplotlib.pyplot as plt '''&lt;br /&gt;
&lt;br /&gt;
'''import seaborn as sns '''&lt;br /&gt;
|| We have imported the necessary libraries for Binary classification.&lt;br /&gt;
&lt;br /&gt;
Make sure to Press''' Shift '''and''' Enter''' to execute the code in each cell.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| '''Highlight ads = pd.read_csv(r&amp;quot; Ads.csv&amp;quot;) '''&lt;br /&gt;
'''ads.head() '''&lt;br /&gt;
|| We load the dataset to a variable '''ads''' using the method '''pd dot read underscore csv'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Data Exploration'''&lt;br /&gt;
|| Let us explore the dataset.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''print(f&amp;quot;Shape of the dataset{ads.shape}&amp;quot;) '''&lt;br /&gt;
&lt;br /&gt;
'''print(ads.info())'''&lt;br /&gt;
|| First, we display the number of rows and columns of the dataset using '''ads dot shape.'''&lt;br /&gt;
&lt;br /&gt;
Then we summarize the dataset, including rows, columns, and missing values using '''ads dot info'''. &lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''plt.figure(figsize=(6, 4))'''&lt;br /&gt;
&lt;br /&gt;
'''sns.countplot(x='Purchased', data=ads, palette='viridis')'''&lt;br /&gt;
|| Next, we visualize the dataset by plotting the count of the '''Purchased''' attribute. &lt;br /&gt;
&lt;br /&gt;
This attribute represents the target variable.&lt;br /&gt;
&lt;br /&gt;
In the output cell, ignore the warning if you get any.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Data Preprocessing'''&lt;br /&gt;
|| Let us preprocess the dataset.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''ads.drop(columns=['User ID'])'''&lt;br /&gt;
&lt;br /&gt;
'''ads.head()'''&lt;br /&gt;
|| We delete the''' User ID''' column, as it is not required for the prediction.&lt;br /&gt;
&lt;br /&gt;
Let us display the first few rows of the updated data and verify.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| In the dataset, the column '''Gender''' contains string data type.&lt;br /&gt;
&lt;br /&gt;
The '''fit method''' in '''sklearn''' can't train models with string data.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''l = LabelEncoder()'''&lt;br /&gt;
|| So, we use the '''LabelEncoder method''' to convert the string data type into integer.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''ads['Gender'] = l.fit_transform(ads['Gender'])'''&lt;br /&gt;
&lt;br /&gt;
|| Using the '''fit underscore transform '''we encode the '''Gender '''column.&lt;br /&gt;
&lt;br /&gt;
Now,''' female '''is encoded as '''0 '''and '''male '''as '''1.'''&lt;br /&gt;
&lt;br /&gt;
Have a look at the encoded data.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Highlight''' x = ads.drop(columns=[&amp;quot;Purchased&amp;quot;])'''&lt;br /&gt;
&lt;br /&gt;
'''x.head()'''&lt;br /&gt;
|| Now, let us prepare the data for training.&lt;br /&gt;
&lt;br /&gt;
First we remove the target column '''Purchased '''from the ads dataset.''' '''&lt;br /&gt;
&lt;br /&gt;
Then''', '''we''' '''copy the remaining features into the variable '''x.'''&lt;br /&gt;
&lt;br /&gt;
Notice that we have removed the '''Purchased''' column.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight &lt;br /&gt;
&lt;br /&gt;
'''y = ads.Purchased'''&lt;br /&gt;
&lt;br /&gt;
'''y.head()'''&lt;br /&gt;
|| Next, let us assign the '''Purchased''' column which is the target feature to '''y'''.&lt;br /&gt;
&lt;br /&gt;
The variable '''y''' has only the class labels as shown.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Highlight '''mms = MinMaxScaler()'''&lt;br /&gt;
&lt;br /&gt;
|| Next, we perform '''Feature Scaling''' which is used to normalize the features.&lt;br /&gt;
&lt;br /&gt;
First we create the instance of '''MinMaxScaler''' using the '''MinMaxScaler method.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''scaled_x = pd.DataFrame(mms.fit_transform(x),columns=x.columns)'''&lt;br /&gt;
|| '''mms dot fit underscore transform '''method is used for scaling each feature.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''scaled_x.head()'''&lt;br /&gt;
|| Now we see the scaled data for the feature '''x.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Train and Test Split'''&lt;br /&gt;
|| Next, we split the data into training and testing sets.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''train_test_split(scaled_x,y,test_size=0.3,random_state=0)'''&lt;br /&gt;
|| '''scaled underscore x '''contains the preprocessed features, and y is the target variable. &lt;br /&gt;
&lt;br /&gt;
The''' test underscore size''' equals 0.3 means 30% of the data is allocated for testing.&lt;br /&gt;
&lt;br /&gt;
The remaining 70 percent is used for training.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| '''x underscore train and y underscore train''' are training features and labels.&lt;br /&gt;
&lt;br /&gt;
Training data is used to train the model.&lt;br /&gt;
&lt;br /&gt;
x underscore test and y underscore test are test features and labels.&lt;br /&gt;
&lt;br /&gt;
Test data is used to evaluate the model performance.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Model Instantiation of Binary Classification and Model training'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''lr = LogisticRegression()'''&lt;br /&gt;
|| Now let’s train the''' Binary Classification Model '''using '''Logistic Regression.'''&lt;br /&gt;
&lt;br /&gt;
We create an instance of '''LogisticRegression''' from the '''sklearn''' library.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''lr.fit(x_train,y_train)'''&lt;br /&gt;
|| Now we train the model using the '''fit '''method on the '''training data'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''y_train_pred = lr.predict(x_train) '''&lt;br /&gt;
|| Next let us calculate the '''training accuracy.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Training Accuracy: 0.814'''&lt;br /&gt;
|| We see the '''training accuracy''' is 0.814 which is pretty good.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''y_train_pred_proba = lr.predict_proba(x_train)[:, 1]'''&lt;br /&gt;
&lt;br /&gt;
|| The trained logistic regression model is used to predict the probabilities. &lt;br /&gt;
&lt;br /&gt;
It predicts the target variable for the training data.&lt;br /&gt;
&lt;br /&gt;
It will return the predicted probabilities for each class.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''roc_auc_train = roc_auc_score(y_train, y_train_pred_proba)'''&lt;br /&gt;
&lt;br /&gt;
|| We calculate the '''ROC-AUC score''' for the model’s performance on the training data.&lt;br /&gt;
&lt;br /&gt;
ROC is '''Receiver Operating Characteristic''', and AUC is '''Area Under the Curve.'''&lt;br /&gt;
&lt;br /&gt;
It measures how well the model distinguishes between the two classes. &lt;br /&gt;
&lt;br /&gt;
A higher score indicates better performance.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''logloss_train = log_loss(y_train, y_train_pred_proba)'''&lt;br /&gt;
&lt;br /&gt;
|| We also calculate the '''cross entropy loss''' for the training data. &lt;br /&gt;
&lt;br /&gt;
It measures how close the predicted probabilities are to the actual class labels.&lt;br /&gt;
&lt;br /&gt;
A lower value indicates better model performance.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''ROC-AUC Score: 0.917'''&lt;br /&gt;
&lt;br /&gt;
'''Cross Entropy Loss: 0.406'''&lt;br /&gt;
|| The '''ROC-AUC Score''' is 0.917.&lt;br /&gt;
&lt;br /&gt;
This shows the model effectively distinguishes between the classes.&lt;br /&gt;
&lt;br /&gt;
The '''cross-entropy loss''' is 0.406.&lt;br /&gt;
&lt;br /&gt;
It shows how well the model’s predictions match the actual labels.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''Predictions for Test Data'''&lt;br /&gt;
|| Further, we predict labels for the '''x underscore test'''.&lt;br /&gt;
&lt;br /&gt;
For prediction we use the class of '''test underscore data'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''test_data = x_test.iloc[10].values.reshape(1, -1)'''&lt;br /&gt;
|| Next, we predict the features of the 10th test data point in '''x underscore test'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''predicted_class = lr.predict(test_data)'''&lt;br /&gt;
|| Then we use the '''Binary classification model''' to predict the classes.&lt;br /&gt;
&lt;br /&gt;
We predict the classes based on test underscore data.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''actual_class = y_test[10]'''&lt;br /&gt;
|| '''actual underscore class''' has the actual class of the test data point.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''print(f&amp;quot;Predicted class:'''&lt;br /&gt;
|| Finally, we print the predicted and actual class.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''Predicted class: 0, Actual class: 0'''&lt;br /&gt;
&lt;br /&gt;
|| We get the output, '''predicted value''' as '''0''' and the '''actual value''' as '''0'''.&lt;br /&gt;
&lt;br /&gt;
In the output cell, ignore the warning if you get any.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''y_pred = lr.predict(x_test)'''&lt;br /&gt;
|| '''y underscore pred''' predicts the target variables.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''print(&amp;quot;Binary classification - Actual vs Predicted:&amp;quot;)'''&lt;br /&gt;
&lt;br /&gt;
|| We print actual and predicted class labels.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''test_accuracy = accuracy_score(y_test, y_pred)'''&lt;br /&gt;
&lt;br /&gt;
|| Then we also calculate the '''test accuracy.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''Test Accuracy: 0.833'''&lt;br /&gt;
|| The '''test accuracy''' is approximately 0.833, which is also pretty good.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''y_test_pred_proba = lr.predict_proba(x_test)[:, 1]'''&lt;br /&gt;
&lt;br /&gt;
|| We calculate the '''ROC-AUC score''' and '''cross-entropy loss''' for the test data.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''ROC-AUC Score: 0.949'''&lt;br /&gt;
&lt;br /&gt;
'''Cross Entropy Loss: 0.355'''&lt;br /&gt;
|| The '''ROC-AUC''' score is 0.949.&lt;br /&gt;
&lt;br /&gt;
The model demonstrates excellent performance in distinguishing between classes.&lt;br /&gt;
&lt;br /&gt;
A Cross Entropy Loss of '''0.355''' shows fairly accurate predictions.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''conf_matrix = confusion_matrix(y_test, y_pred)'''&lt;br /&gt;
&lt;br /&gt;
|| We can also visualize the '''confusion matrix''' of the model’s performance. &lt;br /&gt;
&lt;br /&gt;
It shows how well the model is correctly classifying the instances.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show output plot&lt;br /&gt;
|| The '''confusion matrix''' shows '''76 non-buyers''' are correctly predicted.&lt;br /&gt;
&lt;br /&gt;
However, '''three non-buyers''' are incorrectly classified as '''buyers'''.&lt;br /&gt;
&lt;br /&gt;
Similarly,''' 24 actual buyers''' are correctly identified.&lt;br /&gt;
&lt;br /&gt;
But '''17''' were '''misclassified''' as '''non-buyers'''.&lt;br /&gt;
&lt;br /&gt;
A '''higher numbe'''r in the '''diagonal''' indicated '''better accuracy'''.&lt;br /&gt;
&lt;br /&gt;
This means the model performs well but struggles with some misclassifications.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| We conclude our implementation of '''Binary classification'''.&lt;br /&gt;
&lt;br /&gt;
We have successfully predicted if a given user will make a purchase in the store.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
&lt;br /&gt;
Only Narration&lt;br /&gt;
&lt;br /&gt;
|| In this tutorial, we have learnt about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Logistic Regression&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Binary Classification&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Multiclass Classification&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the next tutorial, we’ll learn how to implement Multiclass classification for Logistic Regression.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide: &lt;br /&gt;
&lt;br /&gt;
'''Assignment '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;As an assignment, please do the following:&amp;lt;/span&amp;gt;&lt;br /&gt;
|| As an assignment,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;Replace the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''y underscore pred '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;code with the code as shown here.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe the changes in Training and Testing accuracy.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide image:&lt;br /&gt;
&lt;br /&gt;
'''Assignment Solution'''&lt;br /&gt;
&lt;br /&gt;
'''binary.png'''&lt;br /&gt;
|| After completing the assignment, the output should match the expected result.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''FOSSEE Forum'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;For any general or technical questions on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python for'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Machine Learning'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;, visit the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;''' FOSSEE forum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; and post your question.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;This is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;'''Anvita Thadavoose Manjummel'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;, a FOSSEE Summer Fellow 2025, IIT Bombay signing off.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thanks for joining.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/Artificial-Neural-Networks/English</id>
		<title>Python-for-Machine-Learning/C3/Artificial-Neural-Networks/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/Artificial-Neural-Networks/English"/>
				<updated>2025-07-03T12:18:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;     &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; {| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || Show Slide: '''Welcome and Title Slide''' || Welcom...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| Show Slide: '''Welcome and Title Slide'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on''' Artificial Neural Networks'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The fundamentals of '''Artificial Neural Networks (ANN)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Implementing '''Multi- Layer Perceptron (MLP)''' classification &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Evaluating the performance of a trained '''MLP''' model&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
|| To record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux 24.04'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Jupyter Notebook IDE'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
&lt;br /&gt;
The learner must have basic knowledge of '''Python.'''&lt;br /&gt;
&lt;br /&gt;
For pre-requisite Python tutorials, please visit this website.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
Code-Files&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The files used in this tutorial are provided in the '''Code files '''link.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please download and extract the files.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Make a copy and use them while practicing.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Artificial Neural Network'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Artificial Neural Networks''' are models inspired by the human brain’s processing.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Neurons''' receive '''inputs''', adjust '''weights''', and pass''' outputs''' to other neurons.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''ANNs '''have '''input''', '''hidden''', and '''output''' layers to process and learn patterns.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Artificial Neural Network'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Each connection in '''ANN''' has a '''weight''' that helps it to make better predictions.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''ANNs''' learn by adjusting '''weights '''based on''' errors''' to improve accuracy.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Multi-Layer Perceptron'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''MLP''' is a type of '''ANN''' with '''multiple hidden layers''' that enhance feature learning.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It processes data through '''interconnected neurons''' in a forward direction.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''MLP''' is widely used for '''classification''' and''' regression''' tasks in machine learning.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''ANN Architecture'''&lt;br /&gt;
&lt;br /&gt;
'''arch.png'''&lt;br /&gt;
|| Let’s look at the architecture of an '''Artificial Neural Network'''.&lt;br /&gt;
&lt;br /&gt;
'''The Input Layer''' receives the data from the dataset.The number of input neurons matches the number of input features.'''Hidden Layers''' process these inputs through weighted connections.These layers help the network learn complex patterns.The number of hidden '''neurons''' depends on task complexity.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''ANN Architecture'''&lt;br /&gt;
&lt;br /&gt;
'''arch.png'''&lt;br /&gt;
|| '''The Output Layer''' produces the final prediction or classification.The number of '''output neurons''' matches the number of output classes.'''Weights''' are updated during training to optimize performance.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Artificial Neuron Model'''&lt;br /&gt;
&lt;br /&gt;
'''neuron.png'''&lt;br /&gt;
|| Now, let's break this down further by understanding a '''single neuron'''.&lt;br /&gt;
&lt;br /&gt;
Each''' neuron '''receives inputs along with a''' bias '''value.&lt;br /&gt;
&lt;br /&gt;
Each input has a '''weight''' that determines its importance.&lt;br /&gt;
&lt;br /&gt;
The '''summation function''' adds the '''weighted inputs''' and '''bias'''.&lt;br /&gt;
&lt;br /&gt;
The '''activation function''' decides the '''neuron’s''' output.&lt;br /&gt;
&lt;br /&gt;
The output is then passed to the next layer in the network.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Hover over the files&lt;br /&gt;
|| I have created Artificial neural networks. Ipynb file for the demonstration.&amp;quot;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press '''Ctrl+Alt+T '''keys&lt;br /&gt;
&lt;br /&gt;
Type '''conda activate ml'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
|| Let us open the Linux terminal by pressing '''Ctrl, Alt and T '''keys together.&lt;br /&gt;
&lt;br /&gt;
Activate the machine learning environment as shown.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| To go to the '''Downloads '''folder,&lt;br /&gt;
&lt;br /&gt;
Type '''cd Downloads'''&lt;br /&gt;
&lt;br /&gt;
Type '''jupyter notebook'''&lt;br /&gt;
|| I have saved my code file in the '''Downloads '''folder.&lt;br /&gt;
&lt;br /&gt;
Please navigate to the respective folder of your code file location.&lt;br /&gt;
&lt;br /&gt;
Then type, '''jupyter space notebook '''and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Jupyter Notebook Home Page:Click on&lt;br /&gt;
&lt;br /&gt;
'''Artificial Neural Networks.ipynb''' file&lt;br /&gt;
|| We can see the Jupyter Notebook Home page has opened in the web browser.&lt;br /&gt;
&lt;br /&gt;
Click the''' Artificial neural networks dot ipynb''' file to open it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Note that each cell will have the output displayed in this file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''import pandas as pd'''&lt;br /&gt;
'''import numpy as np'''&lt;br /&gt;
'''import matplotlib.pyplot as plt'''&lt;br /&gt;
'''import seaborn as sns'''&lt;br /&gt;
|| First, we import the necessary libraries for ANN.&lt;br /&gt;
&lt;br /&gt;
Make sure to Press '''Shift '''and '''Enter '''to execute the code in each cell.&lt;br /&gt;
&lt;br /&gt;
We will use the '''Breast Cancer Wisconsin''' dataset from '''sklearn''' library.&lt;br /&gt;
&lt;br /&gt;
The dataset has '''30 features''' describing breast tumor characteristics.&lt;br /&gt;
&lt;br /&gt;
The target variable is '''0''' for '''malignant tumors '''and '''1''' for '''benign tumors'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''data = load_breast_cancer()'''&lt;br /&gt;
|| We load the dataset using the '''load underscore breast underscore cancer''' function.&lt;br /&gt;
&lt;br /&gt;
Then, we create a dataframe using a '''pd dot dataframe''' for data handling.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''bcancer_df.tail() '''&lt;br /&gt;
|| To inspect the dataset, we display the last five rows using the '''tail''' function.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''bcancer_df.shape'''&lt;br /&gt;
|| The''' shape''' function returns the number of rows and columns in the dataframe.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''print(&amp;quot;Feature names:&amp;quot;, data.feature_names)'''&lt;br /&gt;
|| '''data dot feature underscore names''' displays the columns of different '''tumor '''characteristics.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''print(&amp;quot;Target names:&amp;quot;, data.target_names)'''&lt;br /&gt;
&lt;br /&gt;
|| Next we display the class labels of the target variable.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''plt.figure(figsize=(12,6)) '''&lt;br /&gt;
'''plt.show()'''&lt;br /&gt;
|| We create a boxplot to compare '''mean radius''' across classes.&lt;br /&gt;
&lt;br /&gt;
'''Malignant''' tumors are shown in red and '''benign''' tumors in green.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output&lt;br /&gt;
|| Whiskers in a box plot represent the range of data within a certain boundary.&lt;br /&gt;
&lt;br /&gt;
Outliers are values far from the rest of the data and appear as small dots.&lt;br /&gt;
&lt;br /&gt;
In this plot, the '''malignant''' class has a higher mean radius with more variation.&lt;br /&gt;
&lt;br /&gt;
The '''benign''' class has a lower mean radius with fewer outliers.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only Narration&lt;br /&gt;
&lt;br /&gt;
Highlight&lt;br /&gt;
&lt;br /&gt;
'''scaler = RobustScaler() '''&lt;br /&gt;
'''df_scaled = pd.DataFrame( '''&lt;br /&gt;
'''scaler.fit_transform(bcancer_df.iloc[:, :-1]), '''&lt;br /&gt;
|| Now, let’s preprocess the dataset.&lt;br /&gt;
&lt;br /&gt;
To handle outliers, we normalize the features using '''Robust Scaler'''. It scales values based on the '''median''' and '''IQR''', making it resistant to '''outliers'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''X = bcancer_df.drop(columns=[&amp;quot;target&amp;quot;]) '''&lt;br /&gt;
'''y = bcancer_df['target']'''&lt;br /&gt;
|| We define '''X''' as the feature set by dropping the '''target''' column.&lt;br /&gt;
&lt;br /&gt;
The '''y''' variable stores the '''target classes''' for classification.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)'''&lt;br /&gt;
|| Next, we split the data into '''training '''and '''testing '''sets.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''mlp_relu = MLPClassifier(hidden_layer_sizes=(100, 50), activation='relu', max_iter=1000, random_state=42) '''&lt;br /&gt;
&lt;br /&gt;
'''mlp_relu.fit(X_train, y_train)'''&lt;br /&gt;
|| We then initialize the '''MLP''' model for classification.&lt;br /&gt;
&lt;br /&gt;
Using the''' MLPClassifier''' function, we define '''mlp underscore relu'''.&lt;br /&gt;
&lt;br /&gt;
It has '''two hidden layers''', the first with '''100 neurons '''and second with '''50 neurons'''.&lt;br /&gt;
&lt;br /&gt;
The model uses the '''Rectified Linear Unit '''i.e '''ReLU activation function''' for faster convergence.&lt;br /&gt;
&lt;br /&gt;
'''ReLU '''helps the '''MLP''' to train effectively.&lt;br /&gt;
&lt;br /&gt;
The model is trained for a maximum of '''1000 iterations''' to optimize performance.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''y_train_pred_relu = mlp_relu.predict(X_train)'''&lt;br /&gt;
|| Once trained, we predict class labels for''' X_train''' using our model.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''print(&amp;quot;Training Accuracy (ReLU):&amp;quot;, format(accuracy_score(y_train, y_train_pred_relu), &amp;quot;.3f&amp;quot;)) '''&lt;br /&gt;
|| We then calculate the '''training accuracy''' using the '''accuracy underscore score'''.&lt;br /&gt;
&lt;br /&gt;
The result is formatted to three decimal places and printed.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output&lt;br /&gt;
|| The MLP model achieves a training accuracy of '''92.2%''' using ReLU activation.&lt;br /&gt;
&lt;br /&gt;
This indicates that the model has learned well from the training data.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''plt.plot(mlp_relu.loss_curve_, label=&amp;quot;Training Loss&amp;quot;, color=&amp;quot;blue&amp;quot;) '''&lt;br /&gt;
&lt;br /&gt;
'''plt.xlabel(&amp;quot;Iterations&amp;quot;) '''&lt;br /&gt;
&lt;br /&gt;
'''plt.ylabel(&amp;quot;Loss&amp;quot;) '''&lt;br /&gt;
|| We plot the '''training loss curve''' to track the learning progress.&lt;br /&gt;
&lt;br /&gt;
The '''x-axis''' represents''' iterations,''' while the y-axis shows the '''loss value'''.&lt;br /&gt;
&lt;br /&gt;
A decreasing '''loss curve''' indicates effective training.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output&lt;br /&gt;
|| The''' training loss curve''' shows how the model's''' error''' decreases over iterations.&lt;br /&gt;
&lt;br /&gt;
Initially, the '''loss''' is high but quickly drops, showing rapid learning.&lt;br /&gt;
&lt;br /&gt;
After 20 iterations, the loss stabilizes, indicating model '''convergence'''.&lt;br /&gt;
&lt;br /&gt;
Model '''convergence''' means training has optimized weights, with minimal further gain.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''y_pred_relu = mlp_relu.predict(X_test) '''&lt;br /&gt;
&lt;br /&gt;
'''accuracy_relu = accuracy_score(y_test, y_pred_relu) '''&lt;br /&gt;
|| Next, we predict the class labels on the test data.&lt;br /&gt;
&lt;br /&gt;
We calculate and print the testing accuracy.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output&lt;br /&gt;
|| The model achieves a testing accuracy of '''95.9%'''.&lt;br /&gt;
&lt;br /&gt;
This indicates strong generalization to unseen data.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''y_probs = mlp_relu.predict_proba(X_test)[:, 1] '''&lt;br /&gt;
&lt;br /&gt;
'''fpr, tpr, _ = roc_curve(y_test, y_probs) '''&lt;br /&gt;
&lt;br /&gt;
'''roc_auc = auc(fpr, tpr) '''&lt;br /&gt;
&lt;br /&gt;
|| We further evaluate the performance using a ROC curve.&lt;br /&gt;
&lt;br /&gt;
The curve shows the balance between '''true positive rate''' and '''false positive rate'''.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output&lt;br /&gt;
|| The''' Area under the curve''' i.e, '''AUC value of 0.99''' confirms the model’s strong classification ability.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''print(&amp;quot;\nMLP with ReLU activation - Classification Report:&amp;quot;) '''&lt;br /&gt;
|| Finally, we display the '''classification report''' of the model.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output&lt;br /&gt;
|| The output indicates that the model performs well in both classes with above 95% precision.&lt;br /&gt;
&lt;br /&gt;
The other metrics like recall and F1-score suggest that it correctly identifies most positive instances.&lt;br /&gt;
&lt;br /&gt;
Thus, the model has learnt to classify whether the patient has breast cancer or not. &lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:'''Summary'''&lt;br /&gt;
|| This brings us to the end of the tutorial. Let us summarize.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we have learnt about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The fundamentals of '''Artificial Neural Networks (ANN)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Implementing '''Multi- Layer Perceptron (MLP)''' classification &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Evaluating the performance of a trained '''MLP''' model&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment '''&lt;br /&gt;
|| As an assignment, please do the following&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Use''' activation='logistic' '''instead of '''activation='relu''''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Evaluate the performance using accuracy and classification report for test set&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment Solution'''&lt;br /&gt;
|| After execution, we should get the accuracy and classification report as shown here.&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;For any general or technical questions on &amp;lt;/span&amp;gt;'''Python for'''&lt;br /&gt;
&lt;br /&gt;
'''Machine Learning'''&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;, visit the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;''' FOSSEE forum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt; and post your question.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Thank You'''&lt;br /&gt;
|| This is '''Anvita Thadavoose Manjummel''', a FOSSEE Summer Fellow 2025, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/K-Means-Clustering/English</id>
		<title>Python-for-Machine-Learning/C3/K-Means-Clustering/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/K-Means-Clustering/English"/>
				<updated>2025-06-30T16:21:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;  &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; {| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- || Show Slide:  || Welcome to the Spoken Tutorial on''' K...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|| Show Slide: &lt;br /&gt;
|| Welcome to the Spoken Tutorial on''' K-means Clustering.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide: &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Introduction to''' K-means Clustering'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Steps involved in''' K-means Algorithm'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Choosing the''' '''Optimal''' '''number of''' Clusters (k)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | To Record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux OS version 24.04'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Jupyter Notebook''' '''IDE'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide: &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The Learner must have basic knowledge of '''Python''' &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;For prerequisite '''Python''' tutorials, please visit this website&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code files'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; |&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;The files used in this tutorial are provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''Code files'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; link.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Please download and extract the files.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;Make a copy and then use them while practicing.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''K-means Clustering'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; |&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''K-means clustering''' is an '''unsupervised''' machine learning algorithm.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It partitions data into a predetermined number of '''clusters'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This algorithm aims to group similar '''data points''' together.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''K-means Clustering'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; |&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It creates '''distinct clusters''' by separating dissimilar points.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''Working '''&lt;br /&gt;
'''working.png'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Let us see the working of '''K-means clustering'''.&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;First, choose the number of clusters, '''k''', to divide the data.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Then, randomly pick''' k data points''' as''' initial centroids '''which is the center of each cluster.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It represents the average position of all points in that '''cluster'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''Working'''&lt;br /&gt;
'''working.png'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Each '''data point''' is assigned to the nearest '''cluster centroid'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Update the centroids by averaging the '''data points''' in each '''cluster'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''Working'''&lt;br /&gt;
'''working.png'''&lt;br /&gt;
||&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;New &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt;'''centroids'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:transparent;&amp;quot;&amp;gt; replace the old ones based on these mean values.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This is repeated until the '''cluster''' assignments no longer change.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Hover over the files&lt;br /&gt;
&lt;br /&gt;
Point to '''KMeansClustering.ipynb'''&lt;br /&gt;
|| I have created the required files for the demonstration of '''K-Means clustering.'''&lt;br /&gt;
&lt;br /&gt;
'''K means clustering dot ipynb '''is the python notebook file used in this tutorial.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Open '''Customers.csv dataset'''&lt;br /&gt;
|| For this tutorial, we use a '''dataset''' of customer income and spending scores.&lt;br /&gt;
&lt;br /&gt;
The goal is to '''group individuals''' based on''' income''' and '''spending patterns'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Press '''Ctrl+Alt+T '''keys&lt;br /&gt;
&lt;br /&gt;
Type '''conda activate ml'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
|| Let us open the Linux terminal by pressing '''Ctrl,Alt and T '''keys together.&lt;br /&gt;
&lt;br /&gt;
Activate the machine learning environment as shown.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| To go to the '''Downloads '''folder,&lt;br /&gt;
&lt;br /&gt;
Type '''cd Downloads'''&lt;br /&gt;
&lt;br /&gt;
Type '''jupyter notebook'''&lt;br /&gt;
|| I have saved my code file in the '''Downloads '''folder.&lt;br /&gt;
&lt;br /&gt;
Please navigate to the respective folder of your code file location.&lt;br /&gt;
&lt;br /&gt;
Then type, '''jupyter space notebook '''and press '''Enter.'''&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show Jupyter Notebook Home Page:Double click on&lt;br /&gt;
&lt;br /&gt;
'''KMeansClustering.ipynb '''file&lt;br /&gt;
|| We can see the Jupyter Notebook Home page has opened in the web browser.&lt;br /&gt;
&lt;br /&gt;
Click the '''K means clustering dot ipynb''' file to open it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Note that each cell will have the output displayed in this file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let us see the implementation of the '''K-Means Clustering'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''import numpy as np'''&lt;br /&gt;
&lt;br /&gt;
'''import pandas as pd'''&lt;br /&gt;
&lt;br /&gt;
|| First, we import the '''necessary libraries''' required for '''K-means Clustering'''.&lt;br /&gt;
&lt;br /&gt;
Make sure to Press''' Shift '''and''' Enter''' to execute the code in each cell.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
|| We load the '''customers dataset''' into the '''df''' dataframe.&lt;br /&gt;
Let us display the first few rows.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''print(df.describe())'''&lt;br /&gt;
&lt;br /&gt;
Hover over the output&lt;br /&gt;
|| To understand the data distribution, we use the '''describe''' function.&lt;br /&gt;
&lt;br /&gt;
The dataset contains '''200''' entries for '''Annual Income''' and '''Spending Score'''.&lt;br /&gt;
&lt;br /&gt;
'''Income ranges '''from''' 15K to 137K''', while the '''spending score varies '''from''' 1 to 99'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''df.isnull()'''&lt;br /&gt;
&lt;br /&gt;
'''Hover over the output'''&lt;br /&gt;
|| We check for''' missing values''' in the dataset using '''isnull '''function.&lt;br /&gt;
&lt;br /&gt;
The output shows '''False''' for all entries, confirming '''no missing values'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| &lt;br /&gt;
|| To visualize the dataset, we plot '''histograms''' for each numerical feature.&lt;br /&gt;
&lt;br /&gt;
We also use '''boxplots''' to detect potential '''outliers'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Hover over the output plots as per the narration&lt;br /&gt;
|| The''' histogram''' reveals the distribution of '''annual income''' and '''spending scores'''.&lt;br /&gt;
&lt;br /&gt;
'''Income''' is more spread out, while '''spending scores''' form '''distinct clusters'''.&lt;br /&gt;
&lt;br /&gt;
The boxplot identifies an outlier in the '''Annual Income''' feature. &lt;br /&gt;
&lt;br /&gt;
It is indicated by a point above the '''upper whisker'''. &lt;br /&gt;
&lt;br /&gt;
The '''Spending Score''' feature does not exhibit clear outliers.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Highlight:&lt;br /&gt;
&lt;br /&gt;
'''scaler = MinMaxScaler()'''&lt;br /&gt;
&lt;br /&gt;
'''scaled_df = scaler.fit_transform(df)'''&lt;br /&gt;
|| Now, let us preprocess the dataset.&lt;br /&gt;
&lt;br /&gt;
First, we normalize the dataset using '''MinMaxScaler''' to scale feature values.&lt;br /&gt;
&lt;br /&gt;
This transformation ensures all values fall between 0 and 1.&lt;br /&gt;
&lt;br /&gt;
It improves uniformity and enhances the clustering performance.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''silhouette_scores = []'''&lt;br /&gt;
&lt;br /&gt;
'''K_range = range(2, 11) '''&lt;br /&gt;
&lt;br /&gt;
'''for K in K_range:'''&lt;br /&gt;
&lt;br /&gt;
'''kmeans = KMeans(n_clusters=K, random_state=42, n_init=10)'''&lt;br /&gt;
&lt;br /&gt;
'''cluster_labels = kmeans.fit_predict(scaled_df)'''&lt;br /&gt;
&lt;br /&gt;
'''score = silhouette_score(scaled_df, cluster_labels)'''&lt;br /&gt;
&lt;br /&gt;
'''silhouette_scores.append(score)'''&lt;br /&gt;
'''plt.show()'''&lt;br /&gt;
&lt;br /&gt;
|| Next, we find the '''optimal number of clusters''' using the '''Silhouette Score method'''.&lt;br /&gt;
&lt;br /&gt;
The highest '''Silhouette score''' suggests the best '''k''' value.&lt;br /&gt;
&lt;br /&gt;
To do this, we initialize an empty list to store '''silhouette scores'''.&lt;br /&gt;
&lt;br /&gt;
The for loop iterates through a range of''' K''' values to perform clustering.&lt;br /&gt;
&lt;br /&gt;
For each K, a '''KMeans''' model is created and trained.&lt;br /&gt;
&lt;br /&gt;
Cluster labels are predicted, and the '''silhouette score''' is calculated.&lt;br /&gt;
&lt;br /&gt;
The scores are stored for further analysis.&lt;br /&gt;
&lt;br /&gt;
Further, we generate a plot to visualize the '''silhouette scores'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Hover over output plot&lt;br /&gt;
|| Ignore the warning in the output cell.&lt;br /&gt;
&lt;br /&gt;
The plot shows '''silhouette scores''' for different '''cluster '''values.&lt;br /&gt;
&lt;br /&gt;
A higher score means better defined '''clusters''' with less overlap.&lt;br /&gt;
&lt;br /&gt;
In this plot, the optimal '''k''' is 5 as it has the highest '''silhouette score'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''optimal_k = 5'''&lt;br /&gt;
|| We store the''' optimal k '''value in the '''optimal underscore k''' variable.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Only Narration&lt;br /&gt;
&lt;br /&gt;
Highlight:&lt;br /&gt;
|| Next, we create a '''K-means model''' using the optimal '''k value'''.&lt;br /&gt;
&lt;br /&gt;
The model is fitted to the '''scaled data''', assigning cluster labels.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
|| We extract the '''cluster centers''' from the '''trained K-means '''model.&lt;br /&gt;
&lt;br /&gt;
The coordinates of these centers are printed for analysis.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show output and hover over it&lt;br /&gt;
|| Each '''cluster center''' represents the average value of points in that cluster.&lt;br /&gt;
&lt;br /&gt;
Each row corresponds to a '''centroid’s position''' for '''income '''and''' spending score'''.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''df['Cluster'] = kmeans.labels_'''&lt;br /&gt;
|| We then assign each data point to its respective cluster.&lt;br /&gt;
&lt;br /&gt;
A new column '''Cluster''' is added to store cluster labels.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''silhouette_avg = silhouette_score(scaled_df, kmeans.labels_)'''&lt;br /&gt;
&lt;br /&gt;
'''print(&amp;quot;Silhouette Score: &amp;quot;, silhouette_avg)'''&lt;br /&gt;
|| Next, we calculate the '''silhouette score''' to evaluate clustering quality.&lt;br /&gt;
&lt;br /&gt;
A''' higher score''' indicates well-separated and dense clusters.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show the output&lt;br /&gt;
|| The '''silhouette score''' of '''0.559''' suggests a '''moderate clustering quality'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;A score close to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''-1'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; means the data point is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''poorly clustered'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;A score close to &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''1'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt; means the data point is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;'''well-clustered'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#252525;&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This suggests that while '''clusters''' are distinguishable, some overlap may exist.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Highlight:&lt;br /&gt;
&lt;br /&gt;
'''plt.figure(figsize=(8, 5)) '''&lt;br /&gt;
&lt;br /&gt;
'''plt.show()'''&lt;br /&gt;
|| Finally, we plot data points using the '''scaled income''' and '''spending score''' values.&lt;br /&gt;
&lt;br /&gt;
To enhance clarity, each point is color-coded based on its cluster assignment.&lt;br /&gt;
&lt;br /&gt;
The cluster centers are marked with red X for easy identification.&lt;br /&gt;
&lt;br /&gt;
This visualization helps to understand how data points are grouped.&lt;br /&gt;
|- style=&amp;quot;background-color:transparent;border:1pt solid #000000;padding:0.176cm;&amp;quot;&lt;br /&gt;
|| Show the output plot&lt;br /&gt;
|| The scatter plot visualizes '''K-means clustering''' results.&lt;br /&gt;
&lt;br /&gt;
Each dot represents a '''data point''', color-coded by its assigned '''cluster'''. &lt;br /&gt;
&lt;br /&gt;
The''' clusters''' show distinct groupings based on '''annual income''' and''' spending score'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | This brings us to the end of the tutorial. &lt;br /&gt;
&lt;br /&gt;
Let us summarize.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;As an assignment,&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Use '''Elbow''' method instead of''' Silhouette''' method to find the optimal k&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Use '''inertia''' to identify it&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#000000;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Then, plot the '''elbow''' curve&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment'''&lt;br /&gt;
&lt;br /&gt;
Show elbow.png&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Refer to the code given:&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment Solution'''&lt;br /&gt;
&lt;br /&gt;
Show plot.png&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | After completing the assignment, we’ll get the following plot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | For any general or technical questions on &amp;lt;span style=&amp;quot;background-color:#ffffff;&amp;quot;&amp;gt;'''Python for Machine Learning'''&amp;lt;/span&amp;gt;, visit the''' FOSSEE forum''' and post your question&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot; | This is '''Anvita Thadavoose Manjummel''', a FOSSEE Summer Fellow 2025, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:0cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/Support-Vector-Machine/English</id>
		<title>Python-for-Machine-Learning/C3/Support-Vector-Machine/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C3/Support-Vector-Machine/English"/>
				<updated>2025-06-25T07:11:33Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Welcome'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Welcome to the Spoken Tutorial on '''Support Vector Machine.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Support Vector Machine (SVM)'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linear SVM '''and&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Non Linear SVM '''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| To record this tutorial, I am using &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux OS version 24.04'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Jupyter Notebook IDE'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Prerequisite'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The learner must have basic knowledge of &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python.'''&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;For prerequisite &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; tutorials, please visit this website.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Code files'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; |&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The files used in this tutorial are provided in the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Code files '''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;link.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#252525;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please download and extract the files.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;color:#252525;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Make a copy and then use them while practicing.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide&lt;br /&gt;
&lt;br /&gt;
'''SVM'''&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; | &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''SVM''' is a '''supervised learning algorithm''' used for classification and regression.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;It finds the best boundary, called a '''hyperplane''', to separate classes.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide &lt;br /&gt;
&lt;br /&gt;
'''Hyperplane and Margin'''&lt;br /&gt;
&lt;br /&gt;
Show margin.png&lt;br /&gt;
&lt;br /&gt;
Narration&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; |&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The best '''hyperplane''' is the one that leaves the largest gap between classes. &amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;This gap is called the '''margin''', and a larger margin reduces errors.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Narration&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Next we will see about Linear SVM and Non-Linear SVM.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Linear SVM'''&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; |&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;If a straight line hyperplane can separate the data, we use '''Linear SVM'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Linear SVM''' aims to find the hyperplane that maximizes the margin.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide&lt;br /&gt;
&lt;br /&gt;
'''Non-Linear SVM'''&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; | &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;When data is not linearly separable, we use '''Non Linear SVM.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Non Linear SVM uses the '''kernel trick''' to transform the data.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Kernels '''help find decision boundaries for data that isn’t linearly separable.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Hover over the files&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; | I have created required files for the demonstration of '''SVM'''. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Open the file housingcalifornia.csv and point to the fields as per narration.&lt;br /&gt;
| style=&amp;quot;border:0.6pt solid #000000;padding:0.106cm;&amp;quot; | To implement the '''SVM model, '''we use the '''californiahousing dot csv '''dataset.&lt;br /&gt;
&lt;br /&gt;
The columns in the dataset helps to classify whether a house price is High or Low.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Point to the '''SVM.ipynb''' &lt;br /&gt;
| style=&amp;quot;border-top:0.6pt solid #000000;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | '''SVM dot ipynb''' is the python notebook file for this demonstration.&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Press '''Ctrl,Alt and T''' keys&lt;br /&gt;
&lt;br /&gt;
Type '''conda activate ml'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
|| Let us open the Linux terminal. Press '''Ctrl, Alt''' and '''T''' keys together.&lt;br /&gt;
&lt;br /&gt;
Activate the machine learning environment as shown&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Go to the '''Downloads '''folder&lt;br /&gt;
&lt;br /&gt;
Type '''cd Downloads'''&lt;br /&gt;
&lt;br /&gt;
Type '''jupyter notebook'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter '''&lt;br /&gt;
| style=&amp;quot;border-top:0.6pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | I have saved my code file in the '''Downloads''' folder. &lt;br /&gt;
&lt;br /&gt;
Please navigate to the directory of your respective code file location.&lt;br /&gt;
&lt;br /&gt;
Then type, '''jupyter space notebook '''and press''' Enter.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Jupyter Notebook Home page:&lt;br /&gt;
&lt;br /&gt;
Click on''' SVM.ipynb'''&lt;br /&gt;
| style=&amp;quot;border-top:0.6pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | We can see the '''Jupyter Notebook''' '''Home page''' has opened in the web browser.&lt;br /&gt;
&lt;br /&gt;
Click the '''SVM dot ipynb''' file to open it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Note that each cell will have the output displayed in this file.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight''' '''the lines&lt;br /&gt;
&lt;br /&gt;
'''import pandas as pd '''&lt;br /&gt;
'''import seaborn as sns'''&lt;br /&gt;
'''from sklearn.decomposition import PCA'''&lt;br /&gt;
&lt;br /&gt;
Press''' Shift '''and''' Enter'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | We start by importing the required libraries for '''SVM classification.'''&lt;br /&gt;
&lt;br /&gt;
Now, we will implement a '''Linear SVM''' model.&lt;br /&gt;
&lt;br /&gt;
Make sure to Press''' Shift '''and''' Enter''' to execute the code in each cell.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight''' '''the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing_df = pd.read_csv('californiahousing.csv')'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | First, we '''load the dataset''' from a CSV file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing_df.head() '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Next, we display the first few rows using the '''head function'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''housing_df.shape '''&lt;br /&gt;
|| Then, we check the '''dataset’s shape''' to see the number of rows and columns.&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''selected_features = [&amp;quot;MedInc&amp;quot;, &amp;quot;HouseAge&amp;quot;, &amp;quot;AveRooms&amp;quot;, &amp;quot;AveBedrms&amp;quot;, &amp;quot;Housing Price&amp;quot;] '''&lt;br /&gt;
|| Now, let’s visualize relationships between features using a pair''' plot'''.&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Show the output&lt;br /&gt;
|| Here is the output displaying feature relationships in the dataset.&lt;br /&gt;
|- style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
|| Since our data has categories, we use '''Label Encoding''' to convert them.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Next, we separate the '''features''' and '''target '''variable for model training.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''X'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Then we print the '''feature set X.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''y'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Similarly, we print '''target variable y.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''X_train, X_test, y_train, y_test ='''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Now, we split the data into '''training''' and '''testing''' '''sets.''' &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''scaler = MinMaxScaler()'''&lt;br /&gt;
'''X_train_scaled ='''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Following this, we apply '''Min Max Scaler''' to keep the data within a fixed range.&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
|| Now, we train a '''Linear SVM''' model using the training data.&lt;br /&gt;
&lt;br /&gt;
To set up a '''Linear SVM''', we use the''' Linear''' '''kernel'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines: &lt;br /&gt;
&lt;br /&gt;
'''y_train_pred_linear = svc_linear.predict(X_train_scaled)'''&lt;br /&gt;
|| Once trained, we make predictions on the training data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Now, we check the training '''accuracy''' to evaluate model learning.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''y_pred_linear ='''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Next, we predict target values for the test data.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Then, we compare the actual target values with the predicted values.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | We now calculate and display the '''accuracy''' of '''the Linear SVM model.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the output:&lt;br /&gt;
&lt;br /&gt;
'''Accuracy: 0.840'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | We see the accuracy is '''0.84''', indicating strong model performance.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Now, we generate a classification report to evaluate model performance.&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''train_sizes, train_scores, test_scores = learning_curve'''&lt;br /&gt;
&lt;br /&gt;
|| Next, we plot a '''learning curve''' to see how accuracy changes with training size.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show the output &lt;br /&gt;
&lt;br /&gt;
Hover over training accuracy line and validation accuracy line in the plot.&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The plot shows how '''accuracy changes with different training sizes.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The blue and red lines show '''training''' and '''validation accuracy''' respectively.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The learning curve helps to analyze model performance before further tuning.&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Narration&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Let’s move to '''Non Linear SVM'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''svc_rbf = SVC(kernel='rbf', C=10,'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | To set up a '''Non Linear SVM''', we use the''' Radial Basis Function kernel'''.&lt;br /&gt;
&lt;br /&gt;
We set the '''regularization parameter C''' to 10 for better separation.&lt;br /&gt;
&lt;br /&gt;
We also use '''class weighting''' to handle '''class imbalance'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''y_train_pred_rbf = svc_rbf.predict(X_train_scaled) '''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Now, we predict the training labels using the trained '''Non Linear SVM''' model.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Next, we calculate and display the '''training accuracy.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''y_pred_rbf = svc_rbf.predict(X_test_scaled)'''&lt;br /&gt;
|| Now, we generate predictions on the test data.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Then we compare actual values with predicted values using a Dataframe.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | We now check the model’s final '''accuracy'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the output&lt;br /&gt;
&lt;br /&gt;
'''Accuracy: 0.840'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | With an accuracy of '''84 percent''', the model performs well.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Now, let's analyze it further with a '''classification report'''.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Highlight the lines:&lt;br /&gt;
&lt;br /&gt;
'''pca = PCA(n_components=2) '''&lt;br /&gt;
'''X_train_pca = pca.fit_transform(X_train_scaled)'''&lt;br /&gt;
'''X_test_pca = pca.transform(X_test_scaled)'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | After evaluating the model, let's visualize how '''SVM''' separates the classes.&lt;br /&gt;
&lt;br /&gt;
We now plot the '''support vectors''', which help define the '''decision boundary'''.&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Show the output&lt;br /&gt;
|| This plot shows an '''SVM model''' trained with an '''RBF kernel'''.&lt;br /&gt;
&lt;br /&gt;
Each point represents a data sample from the dataset.'''Red '''and '''blue''' colors indicate '''two different target classes'''.Black '''X marks''' represent the '''model's support vectors.'''Support vectors are the key points defining the '''decision boundary.'''&lt;br /&gt;
&lt;br /&gt;
Thus, this is a '''2D visualization''' of an originally 9D dataset.&lt;br /&gt;
|- style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|| This brings us to the end of the tutorial. Let us summarize.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide:&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | In Linear SVM code,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Change the '''value of C to''' '''5''' as shown here&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Observe the change in '''accuracy'''.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-top:0.75pt solid #000000;border-bottom:0.5pt solid #000000;border-left:0.75pt solid #000000;border-right:0.75pt solid #000000;padding:0.106cm;&amp;quot;&lt;br /&gt;
|| Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Assignment Solution '''&lt;br /&gt;
&lt;br /&gt;
Show '''Linear.PNG''' image file&lt;br /&gt;
|| After completing the assignment, the output should match the expected result.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide: &lt;br /&gt;
&lt;br /&gt;
'''FOSSEE Forum'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:0.75pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | For any general or technical questions on '''Python for Machine Learning''', visit the '''FOSSEE forum''' and post your question&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:0.6pt solid #000000;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | Show Slide:&lt;br /&gt;
&lt;br /&gt;
'''Thank you'''&lt;br /&gt;
| style=&amp;quot;border-top:0.5pt solid #000000;border-bottom:0.6pt solid #000000;border-left:none;border-right:0.6pt solid #000000;padding:0.106cm;&amp;quot; | This is '''Harini Theiveegan''', a FOSSEE Summer Fellow 2025, IIT Bombay signing off&lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C2/Logistic-Regression-MultiClass-Classification/English</id>
		<title>Python-for-Machine-Learning/C2/Logistic-Regression-MultiClass-Classification/English</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php/Python-for-Machine-Learning/C2/Logistic-Regression-MultiClass-Classification/English"/>
				<updated>2025-06-24T11:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;Nirmala Venkat: Created page with &amp;quot;   &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; {| border=&amp;quot;1&amp;quot; |- || '''Visual Cue''' || '''Narration''' |- |- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;pad...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|| '''Visual Cue'''&lt;br /&gt;
|| '''Narration'''&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Welcome'''&lt;br /&gt;
|| Welcome to the Spoken Tutorial on '''Logistic Regression - Multiclass Classification.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Learning Objectives'''&lt;br /&gt;
|| In this tutorial, we will learn about&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Multiclass Classification for Logistic Regression&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''System Requirements'''&lt;br /&gt;
|| To record this tutorial, I am using&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Ubuntu Linux '''OS version''' 24.04'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;'''Jupyter Notebook '''IDE&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide: &lt;br /&gt;
&lt;br /&gt;
'''Prerequisite'''&lt;br /&gt;
|| To follow this tutorial,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The learner must have basic knowledge of '''Python.'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;For pre-requisite '''Python''' tutorials, please visit this website.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Code files'''&lt;br /&gt;
|| &lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;The files used in this tutorial are provided in the '''Code files '''link.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Please download and extract the files.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Make a copy and then use them while practicing.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Iris flower classification'''&lt;br /&gt;
|| To implement the '''Multiclass classification model '''we will,&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Use the '''iris '''dataset to classify the '''iris '''flower.&amp;lt;/div&amp;gt;&lt;br /&gt;
* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;To know more about the &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''iris'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt; dataset please watch &amp;lt;/span&amp;gt;earlier &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;tutorials.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Point to the '''LR_Multiclass.ipynb'''&lt;br /&gt;
|| '''LR_Multiclass dot ipynb '''is the ipython notebook file created for this demonstration.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Press '''Ctrl+Alt'''+'''T '''keys&lt;br /&gt;
&lt;br /&gt;
Type '''conda activate ml'''&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
Highlight: '''(ml)'''&lt;br /&gt;
|| Let us open the Linux terminal by pressing '''Ctrl, Alt''' and '''T '''keys together.&lt;br /&gt;
&lt;br /&gt;
Activate the machine learning environment as shown.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Type '''cd Downloads'''&lt;br /&gt;
&lt;br /&gt;
Type '''jupyter notebook'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter '''&lt;br /&gt;
|| I have saved my code file in the '''Downloads''' folder.&lt;br /&gt;
&lt;br /&gt;
Please navigate to the respective folder of your code file location.&lt;br /&gt;
&lt;br /&gt;
Then type, '''jupyter space notebook '''and press''' Enter.'''&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show Jupyter Notebook Home page:&lt;br /&gt;
&lt;br /&gt;
Double Click on '''LR_Multiclass.ipynb '''file&lt;br /&gt;
|| We can see the '''Jupyter Notebook''' '''Home page''' has opened in the web browser.&lt;br /&gt;
&lt;br /&gt;
Click on the''' LR underscore Multiclass dot ipynb '''file to open it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Note that each cell will have the output displayed in this file.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let us see the implementation of '''multiclass logistic regression'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''import pandas as pd '''&lt;br /&gt;
&lt;br /&gt;
|| These are the necessary libraries to be imported for '''Multiclass classification.'''&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
&lt;br /&gt;
Highlight: '''iris = load_iris()'''&lt;br /&gt;
&lt;br /&gt;
'''iris.data[:5]'''&lt;br /&gt;
|| We first load the Iris dataset using the '''load underscore iris''' method.&lt;br /&gt;
&lt;br /&gt;
The dataset is stored in the variable '''iris'''.&lt;br /&gt;
&lt;br /&gt;
Then we display the first five rows using the '''head''' method.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Data Preprocessing'''&lt;br /&gt;
|| Now, let us prepare the data for training.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''X = iris.data '''&lt;br /&gt;
|| We create variable '''X''' and assign all feature columns to it.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Y = iris.target''' &lt;br /&gt;
|| Next, we assign the target column to the variable '''Y'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''df = pd.DataFrame(X, columns=iris.feature_names)'''&lt;br /&gt;
&lt;br /&gt;
'''df['target'] = Y'''&lt;br /&gt;
|| To analyze the data better, we create a DataFrame '''df''' using '''pd dot DataFrame'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''corr_matrix = df[iris.feature_names].corr()'''&lt;br /&gt;
|| We compute '''correlation''' values between features of the '''Iris''' dataset using '''df dot corr'''.&lt;br /&gt;
&lt;br /&gt;
Now, we visualize this '''correlation''' using a '''heatmap'''.&lt;br /&gt;
&lt;br /&gt;
The '''heatmap''' shows how features relate to one another.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Train and Test Split'''&lt;br /&gt;
|| Next, we split the data into training and testing sets.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Model Instantiation of Multiclass Classification and Model training'''&lt;br /&gt;
|| Let us now build a multiclass classification model.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''mlr = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=1000) '''&lt;br /&gt;
&lt;br /&gt;
'''mlr.fit(X_train, Y_train)''' &lt;br /&gt;
|| We create an instance of '''LogisticRegression''' from the '''sklearn''' library.&lt;br /&gt;
&lt;br /&gt;
Set multi underscore class equals '''multinomial '''and solver equals '''lbfgs'''.&lt;br /&gt;
&lt;br /&gt;
We also set '''max underscore iter''' equals 1000 to ensure convergence.&lt;br /&gt;
&lt;br /&gt;
Now we train the model using the '''fit''' method on the '''training data'''.&lt;br /&gt;
&lt;br /&gt;
Ignore the warning in the output cell, if any.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight &lt;br /&gt;
&lt;br /&gt;
'''Y_train_pred = mlr.predict(X_train)'''&lt;br /&gt;
&lt;br /&gt;
|| Now, we calculate and print the '''training accuracy'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Hightlight '''Training Accuracy: 0.981'''&lt;br /&gt;
|| The '''training accuracy''' is approximately '''0.981''', which is quite good.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''Train Log Loss: 0.1308'''&lt;br /&gt;
|| Next, we calculate the cross-entropy loss for the training data.&lt;br /&gt;
&lt;br /&gt;
A Loss of '''0.1308''' shows the model is making accurate predictions.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''plt.figure(figsize=(8, 6))'''&lt;br /&gt;
&lt;br /&gt;
'''for i in range(Y_train_pred_proba.shape[1]): &amp;lt;nowiki&amp;gt;# Iterate over each class&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''fpr, tpr, _ = roc_curve(Y_train == i, Y_train_pred_proba[:, i]) &amp;lt;nowiki&amp;gt;# One-vs-rest for each class&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''roc_auc = auc(fpr, tpr)'''&lt;br /&gt;
&lt;br /&gt;
|| Let us now plot the '''ROC curve''' and calculate the '''ROC-AUC score'''.&lt;br /&gt;
&lt;br /&gt;
The '''ROC curve''' shows '''TPR vs FPR''' at various threshold values.&lt;br /&gt;
&lt;br /&gt;
'''TPR''' stands for '''True Positive Rate''' that is '''recall'''. &lt;br /&gt;
&lt;br /&gt;
It is the fraction of actual positives correctly identified. &lt;br /&gt;
&lt;br /&gt;
'''FPR''' stands for''' False Positive Rate'''. &lt;br /&gt;
&lt;br /&gt;
It is the fraction of actual negatives wrongly classified as positives.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show output plot&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The '''ROC curve''' shows near-perfect classification.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;The curves stay close to the '''top-left corner'''. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;All three classes achieve an '''AUC''' of '''1.00'''. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This indicates the model effectively distinguishes the classes.&amp;lt;/div&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''Predictions for Test Data'''&lt;br /&gt;
|| Further, we predict labels for x underscore test.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''test_data = X_test[15].reshape(1, -1)'''&lt;br /&gt;
&lt;br /&gt;
'''predicted_class = mlr.predict(test_data)'''&lt;br /&gt;
|| We test the model on a single sample, similar to binary classification.&lt;br /&gt;
&lt;br /&gt;
We compare the predicted with the actual test class.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''Predicted class: 0, Actual class: 0''' &lt;br /&gt;
|| The predicted value is 0, which is Setosa.&lt;br /&gt;
&lt;br /&gt;
The actual value is also 0, hence prediction is correct.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight '''Y_pred = mlr.predict(x_test)'''&lt;br /&gt;
|| '''y underscore pred '''stores predicted labels for all test samples.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''print(&amp;quot;Multiclass classification - Actual vs Predicted:&amp;quot;)'''&lt;br /&gt;
|| We compare the actual class labels with the predicted labels.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight:''' Multiclass Logistic Regression - Actual vs Predicted:'''&lt;br /&gt;
|| The output shows both actual and predicted label arrays.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight: '''test_accuracy = accuracy_score(y_test, y_pred)'''&lt;br /&gt;
&lt;br /&gt;
'''print(f&amp;quot;Test Accuracy: {test_accuracy:.3f}&amp;quot;)'''&lt;br /&gt;
|| Now we calculate the '''test accuracy'''.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight:''' Test Accuracy: 0.978'''&lt;br /&gt;
|| We get an accuracy of approximately '''0.978''', which is pretty good.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;# Predict probabilities for test set&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''Y_test_pred_proba = mlr.predict_proba(X_test)'''&lt;br /&gt;
&lt;br /&gt;
|| We also compute '''ROC-AUC score''' and '''cross-entropy loss''' for test data.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''Test ROC-AUC Score (OvR): 0.9968'''&lt;br /&gt;
&lt;br /&gt;
'''Test Log Loss: 0.1616'''&lt;br /&gt;
&lt;br /&gt;
|| '''ROC-AUC score''' of '''0.9968 '''indicates excellent performance.&lt;br /&gt;
&lt;br /&gt;
'''Cross-entropy loss''' of '''0.1616''' shows the predictions are accurate.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Highlight&lt;br /&gt;
&lt;br /&gt;
'''conf_matrix = confusion_matrix(Y_test, Y_pred) '''&lt;br /&gt;
&lt;br /&gt;
|| Let us visualize the '''confusion matrix''' of the model.&lt;br /&gt;
&lt;br /&gt;
It shows how well the model classifies each class.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show output plot&lt;br /&gt;
|| This matrix has three classes: 0, 1, and 2.&lt;br /&gt;
&lt;br /&gt;
The '''diagonal values''' represent correct predictions.&lt;br /&gt;
&lt;br /&gt;
One sample from Class 1 was incorrectly predicted as Class 2.&lt;br /&gt;
&lt;br /&gt;
The absence of other misclassified values indicates that the model performs well.&lt;br /&gt;
&lt;br /&gt;
A '''strong diagonal pattern''' suggests '''high classification accuracy'''.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Only narration&lt;br /&gt;
|| Now we have successfully classified different Iris flower classes.&lt;br /&gt;
&lt;br /&gt;
This brings us to the end of the tutorial. Let us summarize.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
&lt;br /&gt;
'''Summary'''&lt;br /&gt;
|| In this tutorial, we have learnt about* &amp;lt;div style=&amp;quot;margin-left:1.27cm;margin-right:0cm;&amp;quot;&amp;gt;Multiclass Classification for Logistic Regression&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide: &lt;br /&gt;
&lt;br /&gt;
'''Assignment '''&lt;br /&gt;
|| As an assignment, please do the following:&lt;br /&gt;
* Generate the classification report of the model using '''sklearn''' method as shown.&lt;br /&gt;
* Use classification_report from sklearn dot metrics to display results.&lt;br /&gt;
* This shows '''precision''', '''recall''', '''f1-score''', and '''support''' for each class.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| Show slide:&lt;br /&gt;
|| After completing the assignment, the output should match the expected result.&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''FOSSEE Forum'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;For any general or technical questions on &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Python for'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Machine Learning'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;, visit the&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt;''' FOSSEE forum'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color:#ffffff;color:#000000;&amp;quot;&amp;gt; and post your question.&amp;lt;/span&amp;gt;&lt;br /&gt;
|- style=&amp;quot;border:0.5pt solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;&amp;quot;&lt;br /&gt;
|| &amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Show Slide:&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Thank You'''&amp;lt;/div&amp;gt;&lt;br /&gt;
|| &amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;This is &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;'''Anvita Thadavoose Manjummel'''&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#000000;&amp;quot;&amp;gt;, a FOSSEE Summer Fellow 2025, IIT Bombay signing off.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color:#000000;&amp;quot;&amp;gt;Thanks for joining.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	</feed>