Difference between revisions of "Ruby/C2/Arithmetic-and-Relational-Operators/English-timed"
From Script | Spoken-Tutorial
Sandhya.np14 (Talk | contribs) |
|||
Line 7: | Line 7: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | | Welcome to the Spoken Tutorial on Arithmetic & Relational Operators in '''Ruby.''' | + | | Welcome to the '''Spoken Tutorial''' on '''Arithmetic & Relational Operators''' in '''Ruby.''' |
|- | |- | ||
| 00:06 | | 00:06 | ||
− | | In this tutorial we will learn about | + | | In this tutorial, we will learn about: |
|- | |- | ||
| 00:08 | | 00:08 | ||
− | | Arithmetic Operators | + | |* Arithmetic Operators |
|- | |- | ||
| 00:10 | | 00:10 | ||
− | | Operator Precedence | + | |* Operator Precedence |
|- | |- | ||
| 00:12 | | 00:12 | ||
− | | Relational Operators | + | |* Relational Operators. |
|- | |- | ||
| 00:14 | | 00:14 | ||
− | | Here we are using ''Ubuntu Linux '''version 12.04 | + | | Here we are using: |
+ | * '''Ubuntu Linux '''version '''12.04''' | ||
+ | * '''Ruby 1.9.3''' | ||
|- | |- | ||
| 00:23 | | 00:23 | ||
− | | To follow this tutorial you must know how to use Terminal and Text editor in Linux. | + | | To follow this tutorial, you must know how to use '''Terminal''' and '''Text editor''' in Linux. |
|- | |- | ||
| 00:28 | | 00:28 | ||
− | | You must also be familiar with '''irb ''' | + | | You must also be familiar with '''irb.''' |
|- | |- | ||
| 00:31 | | 00:31 | ||
− | |If not, for relevant tutorials, please visit our website | + | |If not, for relevant tutorials, please visit our website. |
|- | |- | ||
| 00:34 | | 00:34 | ||
− | |Now let us learn about arithmetic operators. | + | |Now, let us learn about arithmetic operators. |
|- | |- | ||
| 00:38 | | 00:38 | ||
| '''Ruby''' has following arithmetic operators. | | '''Ruby''' has following arithmetic operators. | ||
− | |||
|- | |- | ||
| 00:42 | | 00:42 | ||
− | | | + | |* '+' Addition, e.g. a+b. |
|- | |- | ||
| 00:45 | | 00:45 | ||
− | | - Subtraction | + | |* '-' Subtraction, e.g. a-b. |
|- | |- | ||
| 00:48 | | 00:48 | ||
− | | | + | |* '/' Division, e.g. a/b. |
|- | |- | ||
| 00:51 | | 00:51 | ||
− | |* Multiplication | + | |* '*' Multiplication, e.g. a*b. |
|- | |- | ||
| 00:55 | | 00:55 | ||
− | | % Modulus | + | |* '%' Modulus, e.g. a%b. |
|- | |- | ||
| 00:59 | | 00:59 | ||
− | |** Exponent | + | |* '**' Exponent, e.g. a**b. |
|- | |- | ||
Line 88: | Line 89: | ||
|- | |- | ||
| 01:17 | | 01:17 | ||
− | | Type ''' irb''' and press Enter to launch the ''' interactive Ruby. ''' | + | | Type '''irb''' and press '''Enter''' to launch the '''interactive Ruby. ''' |
|- | |- | ||
| 01:21 | | 01:21 | ||
− | |Type 10 plus 20 and press '''Enter. ''' | + | |Type: 10 plus 20 and press '''Enter. ''' |
|- | |- | ||
Line 108: | Line 109: | ||
|- | |- | ||
| 01:38 | | 01:38 | ||
− | |Type '''10 slash 4''' | + | |Type: '''10 slash 4''' |
|- | |- | ||
Line 120: | Line 121: | ||
|- | |- | ||
| 01:47 | | 01:47 | ||
− | | To get a more accurate answer, we need to express one number as '''float''' | + | | To get a more accurate answer, we need to express one number as '''float'''. |
|- | |- | ||
| 01:52 | | 01:52 | ||
− | |Type '''10.0 slash 4''' | + | |Type: '''10.0 slash 4''' |
|- | |- | ||
| 01:56 | | 01:56 | ||
− | |and press '''Enter. ''' | + | |and press '''Enter.''' |
− | + | ||
|- | |- | ||
| 01:58 | | 01:58 | ||
− | | Now we get the result as 2.5 | + | | Now we get the result as 2.5. |
|- | |- | ||
Line 142: | Line 142: | ||
| 02:05 | | 02:05 | ||
| The '''modulus''' operator returns the remainder as output. | | The '''modulus''' operator returns the remainder as output. | ||
− | |||
|- | |- | ||
| 02:09 | | 02:09 | ||
− | | Type '''12 percentage sign 5''' and press '''Enter''' | + | | Type: '''12 percentage sign 5''' and press '''Enter'''. |
|- | |- | ||
| 02:15 | | 02:15 | ||
− | |Here 12 is divided by 5 and the remainder 2 is returned back. | + | |Here, 12 is divided by 5 and the remainder 2 is returned back. |
|- | |- | ||
| 02:21 | | 02:21 | ||
− | | Now let's try the '''exponent''' operator. | + | | Now, let's try the '''exponent''' operator. |
|- | |- | ||
| 02.24 | | 02.24 | ||
− | | Type ''' 2 followed by the asterisk symbol twice and then 5''' and press '''Enter. ''' | + | | Type: ''' 2''' followed by the asterisk symbol twice and then '''5''' and press '''Enter.''' |
|- | |- | ||
Line 166: | Line 165: | ||
|- | |- | ||
| 02:36 | | 02:36 | ||
− | | So we get the output as 32. | + | | So, we get the output as 32. |
|- | |- | ||
Line 186: | Line 185: | ||
|- | |- | ||
| 02:56 | | 02:56 | ||
− | | This means that the operator which has | + | | This means that the operator which has highest priority is executed first. |
|- | |- | ||
| 03:01 | | 03:01 | ||
− | |This is then followed by the next operator in the | + | |This is then followed by the next operator in the priority order and so on. |
− | + | ||
|- | |- | ||
| 03:07 | | 03:07 | ||
− | |This slide lists all operators from highest precedence to lowest. | + | |This '''slide''' lists all operators from highest precedence to lowest. |
|- | |- | ||
| 03:13 | | 03:13 | ||
− | | For example ''' 3 + 4 * 5 ''' returns 23 and not 35 | + | | For example ''' 3 + 4 * 5 ''' returns 23 and not 35. |
|- | |- | ||
Line 208: | Line 206: | ||
| 03:29 | | 03:29 | ||
| and thus will be evaluated first. | | and thus will be evaluated first. | ||
− | |||
|- | |- | ||
| 03:32 | | 03:32 | ||
− | |Hence four fives are twenty and then three is added to 20 to give the output as 23 | + | |Hence, four fives are twenty and then three is added to 20 to give the output as 23. |
|- | |- | ||
| 03:42 | | 03:42 | ||
− | | | + | |Let's see some more examples based on operator precedence. |
|- | |- | ||
Line 224: | Line 221: | ||
|- | |- | ||
| 03:50 | | 03:50 | ||
− | |Press ''' Crtl | + | |Press ''' Crtl, L''' keys simultaneously to clear the '''irb''' console. |
|- | |- | ||
| 03:56 | | 03:56 | ||
− | | Now type '''7 minus 2 multiply by 3 ''' | + | | Now, type: '''7 minus 2 multiply by 3 ''' |
|- | |- | ||
| 04:03 | | 04:03 | ||
− | | and press '''Enter ''' | + | | and press '''Enter '''. |
|- | |- | ||
Line 240: | Line 237: | ||
|- | |- | ||
| 04:08 | | 04:08 | ||
− | | Here the | + | | Here, the asterisk symbol has higher priority than the minus sign. |
− | + | ||
|- | |- | ||
| 04:13 | | 04:13 | ||
− | |So the multiplication | + | |So, the multiplication operation is performed first and then subtraction is performed. |
− | + | ||
|- | |- | ||
| 04:20 | | 04:20 | ||
− | | | + | | Let's see another example. |
|- | |- | ||
| 04:22 | | 04:22 | ||
− | | Type | + | | Type: within brackets '''10 plus 2 slash 4 ''' |
|- | |- | ||
| 04:29 | | 04:29 | ||
− | |and | + | |and press '''Enter'''. |
|- | |- | ||
Line 266: | Line 261: | ||
|- | |- | ||
| 04:33 | | 04:33 | ||
− | |In this case () bracket has the higher priority than division (slash) | + | |In this case, () bracket has the higher priority than division (slash). |
|- | |- | ||
| 04:39 | | 04:39 | ||
− | | So the operation inside the bracket that is | + | | So, the operation inside the bracket, that is addition, is performed first. |
|- | |- | ||
| 04:44 | | 04:44 | ||
− | | Then | + | | Then division is performed. |
|- | |- | ||
| 04:47 | | 04:47 | ||
− | | Now, let us learn about Relational Operators. | + | | Now, let us learn about '''Relational Operators'''. |
|- | |- | ||
Line 286: | Line 281: | ||
|- | |- | ||
| 04:54 | | 04:54 | ||
− | | Relational | + | | '''Relational operator'''s are also known as '''comparison''' operators. |
|- | |- | ||
Line 294: | Line 289: | ||
|- | |- | ||
| 05:04 | | 05:04 | ||
− | | | + | |Relational operators in '''Ruby''' are- |
|- | |- | ||
| 05:07 | | 05:07 | ||
− | |''' == Equals to''' | + | |* ''' == Equals to''', e.g. '''a==b ''' |
|- | |- | ||
| 05:14 | | 05:14 | ||
− | | | + | |* ''' dot eql question mark''' e.g. '''a.eql?b ''' |
|- | |- | ||
| 05:21 | | 05:21 | ||
− | | | + | |* '''!= Not equals to''' e.g. ''' a exclamation equals b''' |
|- | |- | ||
| 05:28 | | 05:28 | ||
− | | ''' Less than | + | |* ''' Less than e.g. a < b''' |
|- | |- | ||
| 05:32 | | 05:32 | ||
− | |'''Greater than | + | |* '''Greater than e.g. a > b''' |
|- | |- | ||
| 05:37 | | 05:37 | ||
− | | ''' <= Lesser than or equal to | + | |* ''' <= Lesser than or equal to e.g. a less than arrow equals b''' |
|- | |- | ||
| 05:44 | | 05:44 | ||
− | |''' >= Greater than or equal to | + | |* ''' >= Greater than or equal to e.g. a greater than arrow equals b''' |
|- | |- | ||
| 05:49 | | 05:49 | ||
− | |''' <=> Combined comparison | + | |* ''' <=> Combined comparison e.g. a less than arrow equal greater than arrow b'''. |
|- | |- | ||
| 05:56 | | 05:56 | ||
− | | | + | | Now let us try some of these operators. |
|- | |- | ||
Line 338: | Line 333: | ||
|- | |- | ||
| 06:02 | | 06:02 | ||
− | | Press ''' ctrl, | + | | Press ''' ctrl, L''' keys simultaneously to clear the '''irb''' console. |
|- | |- | ||
| 06:09 | | 06:09 | ||
− | | | + | | Let's try ''' equals to''' operator. |
|- | |- | ||
| 06:11 | | 06:11 | ||
− | |So type ''' 10 equals equals 10 ''' | + | |So, type: ''' 10 equals equals 10 ''' |
− | + | ||
− | + | ||
|- | |- | ||
| 06:16 | | 06:16 | ||
− | |and | + | |and press '''Enter'''. |
|- | |- | ||
| 06:17 | | 06:17 | ||
− | |We get the output as ''' true.''' | + | |We get the output as '''true.''' |
|- | |- | ||
| 06:20 | | 06:20 | ||
− | |''' .eql?''' opeartor is same as ''' equals to''' operator. | + | |The ''' .eql?''' opeartor is same as ''' equals to''' operator. |
|- | |- | ||
| 06:24 | | 06:24 | ||
− | | | + | |Let's try it out. |
|- | |- | ||
| 06:25 | | 06:25 | ||
− | | Now type ''' 10 .eql?10''' and | + | | Now, type ''' 10 .eql?10''' and press '''Enter'''. |
|- | |- | ||
|06:33 | |06:33 | ||
− | |We get the output as ''' true''' | + | |We get the output as '''true'''. |
|- | |- | ||
| 06:35 | | 06:35 | ||
− | |Now | + | |Now, let's try ''' not equal to''' operator. |
|- | |- | ||
| 06:39 | | 06:39 | ||
− | | Type ''' 10 not equal 10''' | + | | Type: ''' 10 not equal 10''' |
|- | |- | ||
|06:44 | |06:44 | ||
− | | | + | | and press '''Enter'''. |
|- | |- | ||
Line 393: | Line 386: | ||
| 06:48 | | 06:48 | ||
|This is because the two numbers are equal. | |This is because the two numbers are equal. | ||
− | |||
|- | |- | ||
Line 405: | Line 397: | ||
|- | |- | ||
| 07:00 | | 07:00 | ||
− | |Type ''' 10 less than 5''' and | + | |Type: '''10 less than 5''' and press '''Enter'''. |
− | + | ||
|- | |- | ||
| 07:05 | | 07:05 | ||
− | | Here if first operand is less than second then it will return ''' true''' | + | | Here, if first operand is less than second then it will return '''true'''. |
|- | |- | ||
| 07:10 | | 07:10 | ||
− | | | + | |Otherwise, it will return '''false'''. |
− | + | ||
|- | |- | ||
| 07:14 | | 07:14 | ||
− | |We get the output as ''' false''' because 10 is not less than 5 | + | |We get the output as '''false''' because 10 is not less than 5. |
|- | |- | ||
| 07:19 | | 07:19 | ||
− | | We will now try '''greater than''' operator | + | | We will now try '''greater than''' operator. |
|- | |- | ||
| 07:22 | | 07:22 | ||
− | | Type '''5 greater than 2''' | + | | Type: '''5 greater than 2'''. |
|- | |- | ||
| 07:26 | | 07:26 | ||
− | |Here if first operand is greater than second then it will return '''true ''' | + | |Here, if first operand is greater than second then it will return '''true'''; |
|- | |- | ||
| 07:31 | | 07:31 | ||
− | |otherwise it will return '''false ''' | + | |otherwise it will return '''false '''. |
|- | |- | ||
| 07:34 | | 07:34 | ||
− | |Press ''' Enter''' | + | |Press ''' Enter'''. |
|- | |- | ||
| 07:36 | | 07:36 | ||
− | | In this case, we get the output as | + | | In this case, we get the output as '''true''' because 5 is indeed greater than 2. |
|- | |- | ||
| 07:42 | | 07:42 | ||
− | |Clear the '''irb''' console by pressing ''' Ctrl, L''' simultaneously | + | |Clear the '''irb''' console by pressing ''' Ctrl, L''' simultaneously. |
|- | |- | ||
| 07:47 | | 07:47 | ||
− | | We will now try the '''less than equal to''' operator | + | | We will now try the '''less than equal to''' operator. |
|- | |- | ||
| 07:51 | | 07:51 | ||
− | | Type '''12 less than equal | + | | Type: '''12 less than equal 12''' |
− | + | ||
|- | |- | ||
| 07:56 | | 07:56 | ||
− | |and | + | |and press '''Enter'''. |
− | + | ||
|- | |- | ||
| 07:59 | | 07:59 | ||
− | | Here if first operand is less than or equal to second then it returns '''true''' | + | | Here, if first operand is less than or equal to second then it returns '''true'''; |
|- | |- | ||
| 08:04 | | 08:04 | ||
− | | otherwise it returns '''false ''' | + | | otherwise it returns '''false'''. |
|- | |- | ||
| 08:07 | | 08:07 | ||
− | |We get the output as ''' | + | |We get the output as '''true''' because 12 is equal to 12. |
|- | |- | ||
Line 480: | Line 468: | ||
|- | |- | ||
| 08:15 | | 08:15 | ||
− | |Now let's try the '''combined | + | |Now, let's try the '''combined comparison''' operator. |
|- | |- | ||
| 08:19 | | 08:19 | ||
− | |The ''' combined | + | |The ''' combined comparison''' operator: |
|- | |- | ||
| 08:21 | | 08:21 | ||
− | |Returns '''0''' if first operand equals second | + | |* Returns '''0''' if first operand equals second |
− | + | ||
|- | |- | ||
| 08:24 | | 08:24 | ||
− | |Returns 1 if first operand is greater than the second and | + | |* Returns 1 if first operand is greater than the second and |
− | + | ||
− | + | ||
|- | |- | ||
| 08:29 | | 08:29 | ||
− | |Returns -1 if first operand is less than the second operand | + | |* Returns -1 if first operand is less than the second operand. |
− | + | ||
|- | |- | ||
| 08:34 | | 08:34 | ||
− | |Let's see how it works with an example | + | |Let's see how it works, with an example. |
|- | |- | ||
| 08:36 | | 08:36 | ||
− | |Type '''3 less than equals greater than 3 ''' | + | |Type: '''3 less than equals greater than 3 ''' |
|- | |- | ||
| 08:41 | | 08:41 | ||
− | | | + | |and press '''Enter'''. |
− | + | ||
|- | |- | ||
Line 521: | Line 504: | ||
|- | |- | ||
| 08:45 | | 08:45 | ||
− | |because both the operands are equal i.e. both are three | + | |because both the operands are equal i.e. both are three. |
|- | |- | ||
| 08:50 | | 08:50 | ||
− | |Now, let's change one of the operands to 4 | + | |Now, let's change one of the operands to 4. |
|- | |- | ||
| 08:53 | | 08:53 | ||
− | |Type '''4 less than equals greater than 3 ''' | + | |Type: '''4 less than equals greater than 3 ''' |
− | + | ||
|- | |- | ||
| 08:58 | | 08:58 | ||
− | | | + | |and press '''Enter'''. |
|- | |- | ||
Line 542: | Line 524: | ||
|- | |- | ||
| 09:01 | | 09:01 | ||
− | | | + | |since 4 is greater than 3. |
− | + | ||
|- | |- | ||
| 09:04 | | 09:04 | ||
− | |Now, let's change this example again | + | |Now, let's change this example again. |
|- | |- | ||
| 09:07 | | 09:07 | ||
− | |Type '''4 less than equals greater than 7 ''' | + | |Type: '''4 less than equals greater than 7 ''' |
− | + | ||
|- | |- | ||
| 09:11 | | 09:11 | ||
− | | | + | |and press '''Enter '''. |
|- | |- | ||
Line 564: | Line 544: | ||
|- | |- | ||
| 09:14 | | 09:14 | ||
− | | | + | |since 4 is less than 7. |
− | + | ||
|- | |- | ||
| 09:17 | | 09:17 | ||
− | |As an assignment | + | |As an assignment, |
|- | |- | ||
| 09:19 | | 09:19 | ||
− | | | + | |solve the following examples using '''irb''' and check the output: |
|- | |- | ||
| 09:24 | | 09:24 | ||
− | |''' 10 + bracket 2 | + | |* ''' 10 + bracket 2 asterisk 5 bracket 8 slash 2''' |
|- | |- | ||
| 09:32 | | 09:32 | ||
− | |'''4 astreisk 5 slash 2 plus 7''' | + | |* '''4 astreisk 5 slash 2 plus 7''' |
|- | |- | ||
| 09:37 | | 09:37 | ||
− | |Also, try arithmetic operators using | + | |* Also, try arithmetic operators using '''method'''s. |
|- | |- | ||
| 09:42 | | 09:42 | ||
|This brings us to the end of this Spoken Tutorial. | |This brings us to the end of this Spoken Tutorial. | ||
− | |||
|- | |- | ||
| 09:45 | | 09:45 | ||
− | |Let's summarize | + | |Let's summarize.. |
− | + | ||
|- | |- | ||
| 09:47 | | 09:47 | ||
− | |In this tutorial we have learnt about | + | |In this tutorial, we have learnt about: |
|- | |- | ||
| 09:49 | | 09:49 | ||
− | |Arithmetic Operators plus minus | + | |* Arithmetic Operators- plus, minus, asterisk, slash standing for addition, subtraction, multiplication, division. |
|- | |- | ||
| 09:59 | | 09:59 | ||
− | |Operator Precedence | + | |* Operator Precedence |
|- | |- | ||
| 10:01 | | 10:01 | ||
− | |Relational Operators | + | |* Relational Operators |
|- | |- | ||
| 10:04 | | 10:04 | ||
− | |using many examples | + | |using many examples. |
|- | |- | ||
Line 623: | Line 600: | ||
|- | |- | ||
| 10:10 | | 10:10 | ||
− | |It | + | |It summarize the Spoken Tutorial project. |
|- | |- | ||
Line 631: | Line 608: | ||
|- | |- | ||
| 10:18 | | 10:18 | ||
− | | | + | | The Spoken Tutorial project team: |
|- | |- | ||
| 10:20 | | 10:20 | ||
− | |Conducts workshops using spoken tutorials | + | |* Conducts workshops using spoken tutorials. |
|- | |- | ||
|10:23 | |10:23 | ||
− | |Gives certificates to those who pass an online test | + | |* Gives certificates to those who pass an online test. |
|- | |- | ||
| 10:26 | | 10:26 | ||
− | |For more details, please write to contact@spoken-tutorial.org | + | |For more details, please write to: |
+ | contact@spoken-tutorial.org | ||
|- | |- | ||
| 10:32 | | 10:32 | ||
− | | Spoken Tutorial | + | | '''Spoken Tutorial''' project is a part of the '''Talk to a Teacher''' project. |
|- | |- | ||
Line 655: | Line 633: | ||
|- | |- | ||
| 10:43 | | 10:43 | ||
− | |More information on this | + | |More information on this mission is available at: |
+ | spoken hyphen tutorial dot org slash NMEICT hyphen Intro. | ||
|- | |- | ||
| 10:51 | | 10:51 | ||
− | |This script has been contributed by the spoken tutorial team IIT Bombay | + | |This script has been contributed by the spoken tutorial team, '''IIT Bombay'''. |
|- | |- | ||
| 10:57 | | 10:57 | ||
− | |And this is Anjana Nair signing off Thank you | + | |And this is Anjana Nair, signing off. Thank you. |
− | + | ||
|} | |} |
Revision as of 06:43, 29 October 2015
Time | Narration |
00:01 | Welcome to the Spoken Tutorial on Arithmetic & Relational Operators in Ruby. |
00:06 | In this tutorial, we will learn about: |
00:08 | * Arithmetic Operators |
00:10 | * Operator Precedence |
00:12 | * Relational Operators. |
00:14 | Here we are using:
|
00:23 | To follow this tutorial, you must know how to use Terminal and Text editor in Linux. |
00:28 | You must also be familiar with irb. |
00:31 | If not, for relevant tutorials, please visit our website. |
00:34 | Now, let us learn about arithmetic operators. |
00:38 | Ruby has following arithmetic operators. |
00:42 | * '+' Addition, e.g. a+b. |
00:45 | * '-' Subtraction, e.g. a-b. |
00:48 | * '/' Division, e.g. a/b. |
00:51 | * '*' Multiplication, e.g. a*b. |
00:55 | * '%' Modulus, e.g. a%b. |
00:59 | * '**' Exponent, e.g. a**b. |
01:04 | Let us try these arithmetic operators using irb. |
01:08 | Open the terminal by pressing Ctrl, Alt and T keys simultaneously. |
01:14 | A terminal window appears on your screen. |
01:17 | Type irb and press Enter to launch the interactive Ruby. |
01:21 | Type: 10 plus 20 and press Enter. |
01:25 | The addition operation is performed and the result 30 is displayed. |
01:31 | Similarly the subtraction and multiplication operations can be performed. |
01:35 | Let us try the division operator. |
01:38 | Type: 10 slash 4 |
01:40 | and press Enter. |
01:42 | Here you can see the result is truncated to the nearest whole number which is 2. |
01:47 | To get a more accurate answer, we need to express one number as float. |
01:52 | Type: 10.0 slash 4 |
01:56 | and press Enter. |
01:58 | Now we get the result as 2.5. |
02:01 | Let's now try the modulus operator. |
02:05 | The modulus operator returns the remainder as output. |
02:09 | Type: 12 percentage sign 5 and press Enter. |
02:15 | Here, 12 is divided by 5 and the remainder 2 is returned back. |
02:21 | Now, let's try the exponent operator. |
02.24 | Type: 2 followed by the asterisk symbol twice and then 5 and press Enter. |
02:32 | This means that 2 is raised to the power of 5. |
02:36 | So, we get the output as 32. |
02:39 | Next, let us learn about operator precedence. |
02:44 | When several operations occur in a mathematical expression, |
02:47 | each part is evaluated |
02:50 | and resolved in a predetermined order called operator precedence. |
02:56 | This means that the operator which has highest priority is executed first. |
03:01 | This is then followed by the next operator in the priority order and so on. |
03:07 | This slide lists all operators from highest precedence to lowest. |
03:13 | For example 3 + 4 * 5 returns 23 and not 35. |
03:23 | The multiplication operator (*) has higher precedence than the addition operator (+) |
03:29 | and thus will be evaluated first. |
03:32 | Hence, four fives are twenty and then three is added to 20 to give the output as 23. |
03:42 | Let's see some more examples based on operator precedence. |
03:47 | Let's go back to the terminal. |
03:50 | Press Crtl, L keys simultaneously to clear the irb console. |
03:56 | Now, type: 7 minus 2 multiply by 3 |
04:03 | and press Enter . |
04:05 | We get the answer as 1. |
04:08 | Here, the asterisk symbol has higher priority than the minus sign. |
04:13 | So, the multiplication operation is performed first and then subtraction is performed. |
04:20 | Let's see another example. |
04:22 | Type: within brackets 10 plus 2 slash 4 |
04:29 | and press Enter. |
04:30 | We get the answer as 3. |
04:33 | In this case, () bracket has the higher priority than division (slash). |
04:39 | So, the operation inside the bracket, that is addition, is performed first. |
04:44 | Then division is performed. |
04:47 | Now, let us learn about Relational Operators. |
04:51 | Let's switch back to slides. |
04:54 | Relational operators are also known as comparison operators. |
04:59 | Expressions using relational operators return boolean values. |
05:04 | Relational operators in Ruby are- |
05:07 | * == Equals to, e.g. a==b |
05:14 | * dot eql question mark e.g. a.eql?b |
05:21 | * != Not equals to e.g. a exclamation equals b |
05:28 | * Less than e.g. a < b |
05:32 | * Greater than e.g. a > b |
05:37 | * <= Lesser than or equal to e.g. a less than arrow equals b |
05:44 | * >= Greater than or equal to e.g. a greater than arrow equals b |
05:49 | * <=> Combined comparison e.g. a less than arrow equal greater than arrow b. |
05:56 | Now let us try some of these operators. |
06:00 | Go to the terminal. |
06:02 | Press ctrl, L keys simultaneously to clear the irb console. |
06:09 | Let's try equals to operator. |
06:11 | So, type: 10 equals equals 10 |
06:16 | and press Enter. |
06:17 | We get the output as true. |
06:20 | The .eql? opeartor is same as equals to operator. |
06:24 | Let's try it out. |
06:25 | Now, type 10 .eql?10 and press Enter. |
06:33 | We get the output as true. |
06:35 | Now, let's try not equal to operator. |
06:39 | Type: 10 not equal 10 |
06:44 | and press Enter. |
06:46 | We get the output as false. |
06:48 | This is because the two numbers are equal. |
06:51 | Clear the irb console by pressing Ctrl, L simultaneously. |
06:56 | Let us now try less than operator. |
07:00 | Type: 10 less than 5 and press Enter. |
07:05 | Here, if first operand is less than second then it will return true. |
07:10 | Otherwise, it will return false. |
07:14 | We get the output as false because 10 is not less than 5. |
07:19 | We will now try greater than operator. |
07:22 | Type: 5 greater than 2. |
07:26 | Here, if first operand is greater than second then it will return true; |
07:31 | otherwise it will return false . |
07:34 | Press Enter. |
07:36 | In this case, we get the output as true because 5 is indeed greater than 2. |
07:42 | Clear the irb console by pressing Ctrl, L simultaneously. |
07:47 | We will now try the less than equal to operator. |
07:51 | Type: 12 less than equal 12 |
07:56 | and press Enter. |
07:59 | Here, if first operand is less than or equal to second then it returns true; |
08:04 | otherwise it returns false. |
08:07 | We get the output as true because 12 is equal to 12. |
08:11 | You can try out the greater than or equal to operator likewise. |
08:15 | Now, let's try the combined comparison operator. |
08:19 | The combined comparison operator: |
08:21 | * Returns 0 if first operand equals second |
08:24 | * Returns 1 if first operand is greater than the second and |
08:29 | * Returns -1 if first operand is less than the second operand. |
08:34 | Let's see how it works, with an example. |
08:36 | Type: 3 less than equals greater than 3 |
08:41 | and press Enter. |
08:43 | We get the output as 0 |
08:45 | because both the operands are equal i.e. both are three. |
08:50 | Now, let's change one of the operands to 4. |
08:53 | Type: 4 less than equals greater than 3 |
08:58 | and press Enter. |
08:59 | We get the output as 1 |
09:01 | since 4 is greater than 3. |
09:04 | Now, let's change this example again. |
09:07 | Type: 4 less than equals greater than 7 |
09:11 | and press Enter . |
09:13 | We get the output as -1 |
09:14 | since 4 is less than 7. |
09:17 | As an assignment, |
09:19 | solve the following examples using irb and check the output: |
09:24 | * 10 + bracket 2 asterisk 5 bracket 8 slash 2 |
09:32 | * 4 astreisk 5 slash 2 plus 7 |
09:37 | * Also, try arithmetic operators using methods. |
09:42 | This brings us to the end of this Spoken Tutorial. |
09:45 | Let's summarize.. |
09:47 | In this tutorial, we have learnt about: |
09:49 | * Arithmetic Operators- plus, minus, asterisk, slash standing for addition, subtraction, multiplication, division. |
09:59 | * Operator Precedence |
10:01 | * Relational Operators |
10:04 | using many examples. |
10:06 | Watch the video available at the following link. |
10:10 | It summarize the Spoken Tutorial project. |
10:14 | If you do not have good bandwidth, you can download and watch it. |
10:18 | The Spoken Tutorial project team: |
10:20 | * Conducts workshops using spoken tutorials. |
10:23 | * Gives certificates to those who pass an online test. |
10:26 | For more details, please write to:
contact@spoken-tutorial.org |
10:32 | Spoken Tutorial project is a part of the Talk to a Teacher project. |
10:36 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
10:43 | More information on this mission is available at:
spoken hyphen tutorial dot org slash NMEICT hyphen Intro. |
10:51 | This script has been contributed by the spoken tutorial team, IIT Bombay. |
10:57 | And this is Anjana Nair, signing off. Thank you. |
Contributors and Content Editors
Devraj, PoojaMoolya, Pratik kamble, Sandhya.np14, Shruti arya