Difference between revisions of "Ruby/C3/Object-Oriented-Concept-in-Ruby/English-timed"
From Script | Spoken-Tutorial
Shruti arya (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
Line 7: | Line 7: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | | Welcome to this spoken tutorial on ''' Object Oriented Concept''' in '''Ruby'''. | + | | Welcome to this '''spoken tutorial''' on ''' Object Oriented Concept''' in '''Ruby'''. |
|- | |- | ||
| 00:06 | | 00:06 | ||
− | | In this tutorial we will learn to use- | + | | In this tutorial, we will learn to use- |
|- | |- | ||
| 00:08 | | 00:08 | ||
− | | '''classes''' | + | |* '''classes''' |
|- | |- | ||
| 00:09 | | 00:09 | ||
− | |creating '''objects''' | + | |* creating '''objects''' |
|- | |- | ||
| 00:10 | | 00:10 | ||
− | |different ways of defining '''methods''' in '''Ruby''' | + | |* different ways of defining '''methods''' in '''Ruby''' |
|- | |- | ||
| 00:13 | | 00:13 | ||
− | |Here we are using | + | |Here we are using: |
|- | |- | ||
| 00:14 | | 00:14 | ||
− | | | + | |* ''' Ubuntu''' version '''12.04''' |
|- | |- | ||
| 00:16 | | 00:16 | ||
− | |''' Ruby | + | |* ''' Ruby 1.9.3''' |
|- | |- | ||
| 00:19 | | 00:19 | ||
− | |To follow this tutorial, you must have knowledge of ''' Linux''' | + | |To follow this tutorial, you must have knowledge of ''' Linux command'''s, ''' Terminal''' and '''Text-editor.''' |
|- | |- | ||
Line 63: | Line 63: | ||
|- | |- | ||
| 00:44 | | 00:44 | ||
− | | Everything in | + | | Everything in Ruby is an object; from a value to a '''string''' or number. |
− | + | ||
|- | |- | ||
Line 89: | Line 88: | ||
| 01:08 | | 01:08 | ||
| It is delimited with an ''' “end”.''' | | It is delimited with an ''' “end”.''' | ||
− | |||
|- | |- | ||
Line 130: | Line 128: | ||
| 01:34 | | 01:34 | ||
|The subsequent file names will have underscore separating the words: | |The subsequent file names will have underscore separating the words: | ||
− | |||
|- | |- | ||
Line 142: | Line 139: | ||
|- | |- | ||
| 01:45 | | 01:45 | ||
− | | Create a new file in ''' gedit''' as shown in the basic level '''Ruby''' | + | | Create a new file in ''' gedit''' as shown in the basic level '''Ruby tutorials'''. |
|- | |- | ||
Line 154: | Line 151: | ||
|- | |- | ||
| 01:57 | | 01:57 | ||
− | |You can pause the tutorial | + | |You can pause the tutorial and type the code as we go through it. |
|- | |- | ||
Line 162: | Line 159: | ||
|- | |- | ||
| 02:05 | | 02:05 | ||
− | | Now let us make the ''' class''' useful by adding some '''variables.''' | + | | Now, let us make the ''' class''' useful by adding some '''variables.''' |
|- | |- | ||
| 02:11 | | 02:11 | ||
− | |Then I have defined an ''' instance variable “myinstance”.''' | + | |Then I have defined an '''instance variable “myinstance”.''' |
|- | |- | ||
Line 174: | Line 171: | ||
|- | |- | ||
| 02:18 | | 02:18 | ||
− | |I have also defined a ''' class variable “myclassvar” ''' | + | |I have also defined a ''' class variable “myclassvar” '''. |
|- | |- | ||
Line 182: | Line 179: | ||
|- | |- | ||
| 02:24 | | 02:24 | ||
− | |Now let us add some code that will make use of this class. | + | |Now, let us add some code that will make use of this '''class'''. |
|- | |- | ||
| 02:30 | | 02:30 | ||
− | | Type ''' puts Order dot instance underscore variables.''' | + | | Type '''puts Order dot instance underscore variables.''' |
Line 195: | Line 192: | ||
|- | |- | ||
| 02:43 | | 02:43 | ||
− | | Let us copy and paste that and add it just below the line we added and save it. | + | | Let us '''copy''' and '''paste''' that and add it just below the line we added and '''save''' it. |
|- | |- | ||
| 02:51 | | 02:51 | ||
− | | Now let us execute this code | + | | Now, let us '''execute''' this code. |
|- | |- | ||
| 02:53 | | 02:53 | ||
− | |Switch to the terminal and type | + | |Switch to the '''terminal''' and type: |
|- | |- | ||
Line 219: | Line 216: | ||
|- | |- | ||
| 03:09 | | 03:09 | ||
− | |Now let us type ''' puts Order dot class underscore variables.''' | + | |Now, let us type: ''' puts Order dot class underscore variables.''' |
|- | |- | ||
Line 227: | Line 224: | ||
|- | |- | ||
| 03:21 | | 03:21 | ||
− | | Now let us switch to the '''terminal''' and execute the file like before. | + | | Now, let us switch to the '''terminal''' and execute the file like before. |
|- | |- | ||
Line 235: | Line 232: | ||
|- | |- | ||
| 03:32 | | 03:32 | ||
− | | | + | | You should now be able to write your own '''class.''' |
|- | |- | ||
Line 247: | Line 244: | ||
|- | |- | ||
| 03:43 | | 03:43 | ||
− | | Which means an '''object''' is created from a '''class.''' | + | | Which means, an '''object''' is created from a '''class.''' |
|- | |- | ||
Line 255: | Line 252: | ||
|- | |- | ||
| 03:52 | | 03:52 | ||
− | | How do you declare an '''object''' | + | | How do you declare an '''object'''? |
|- | |- | ||
| 03:54 | | 03:54 | ||
− | |We declare an '''object''' of a class using the '''new keyword | + | |We declare an '''object''' of a class using the '''"new" keyword'''. |
|- | |- | ||
| 03:58 | | 03:58 | ||
− | |Here we are declaring an '''object''' of the '''Product class.''' | + | |Here, we are declaring an '''object''' of the '''Product class.''' |
|- | |- | ||
| 04:02 | | 04:02 | ||
− | | Here an '''object''' gets created. | + | | Here, an '''object''' gets created. |
|- | |- | ||
Line 280: | Line 277: | ||
|- | |- | ||
| 04:12 | | 04:12 | ||
− | |This '''object''' is of | + | |This '''object''' is of type : '''Product.''' |
|- | |- | ||
| 04:16 | | 04:16 | ||
− | |Now let is look at what an ''' “initialize” method''' is. | + | |Now, let is look at what an ''' “initialize” method''' is. |
|- | |- | ||
| 04:20 | | 04:20 | ||
|An ''' initialize method''' is called at the time of '''object''' creation. | |An ''' initialize method''' is called at the time of '''object''' creation. | ||
− | |||
|- | |- | ||
Line 310: | Line 306: | ||
|- | |- | ||
| 04:46 | | 04:46 | ||
− | |Create a new file in '''gedit''' as shown in the basic level '''Ruby''' | + | |Create a new file in '''gedit''' as shown in the basic level '''Ruby tutorials'''. |
|- | |- | ||
| 04:50 | | 04:50 | ||
− | | And name it '''object undescore initialize dot rb ''' | + | | And name it '''object undescore initialize dot rb'''. |
|- | |- | ||
Line 322: | Line 318: | ||
|- | |- | ||
| 05:00 | | 05:00 | ||
− | | You can pause the tutorial | + | | You can pause the tutorial and type the code as we go through it. |
|- | |- | ||
| 05:04 | | 05:04 | ||
− | |Here I have defined a ''' class''' called ''' “Order” ''' | + | |Here, I have defined a '''class''' called '''“Order” '''. |
|- | |- | ||
Line 334: | Line 330: | ||
|- | |- | ||
| 05:13 | | 05:13 | ||
− | | I have defined a '''puts method''' to display the message | + | | I have defined a ''''puts' method''' to display the message: “I have created an object”. |
|- | |- | ||
Line 346: | Line 342: | ||
|- | |- | ||
| 05:27 | | 05:27 | ||
− | |Switch to the '''terminal''' and type | + | |Switch to the '''terminal''' and type: |
|- | |- | ||
Line 358: | Line 354: | ||
|- | |- | ||
|05:39 | |05:39 | ||
− | |You will see the message ''' “I have created an object” ''' . | + | |You will see the message ''' “I have created an object”'''. |
|- | |- | ||
| 05:43 | | 05:43 | ||
− | |Now let us go back to '''gedit''' and add an '''argument''' to the '''method.''' | + | |Now, let us go back to '''gedit''' and add an '''argument''' to the '''method.''' |
|- | |- | ||
| 05:48 | | 05:48 | ||
− | |Let us modify the ''' puts''' . | + | |Let us modify the '''puts'''. |
|- | |- | ||
Line 374: | Line 370: | ||
|- | |- | ||
| 05:55 | | 05:55 | ||
− | | Next let us type | + | | Next, let us type: |
|- | |- | ||
| 05:56 | | 05:56 | ||
− | |''' Order dot new(“I have created an object”). ''' | + | |'''Order dot new(“I have created an object”).''' |
|- | |- | ||
| 06:04 | | 06:04 | ||
− | |Here we have given an argument to the new method. | + | |Here, we have given an argument to the new '''method'''. |
|- | |- | ||
Line 390: | Line 386: | ||
|- | |- | ||
| 06:13 | | 06:13 | ||
− | |Switch to the ''' terminal''' and type | + | |Switch to the ''' terminal''' and type: |
|- | |- | ||
| 06:16 | | 06:16 | ||
− | |''' ruby space object underscore initialize dot rb''' | + | |'''ruby space object underscore initialize dot rb''' |
|- | |- | ||
Line 410: | Line 406: | ||
|- | |- | ||
| 06:33 | | 06:33 | ||
− | |Recall that in ''' | + | |Recall that in Ruby, '''methods''' are the '''functions''' that a '''class''' performs. |
|- | |- | ||
| 06:39 | | 06:39 | ||
− | |Each '''method''' in a class is defined within the ''' “def” ''' and ''' “end”''' block. | + | |Each '''method''' in a class is defined within the '''“def”''' and '''“end”''' block. |
|- | |- | ||
| 06:45 | | 06:45 | ||
− | |A multiword | + | |A multiword method-name is separated with an '''underscore.''' |
|- | |- | ||
Line 427: | Line 423: | ||
|- | |- | ||
| 06:54 | | 06:54 | ||
− | |'' | + | | '?' (question-mark) |
|- | |- | ||
| 06:56 | | 06:56 | ||
− | |'' | + | |'=' (equal to). |
|- | |- | ||
Line 440: | Line 436: | ||
| 07:02 | | 07:02 | ||
|Let us look at some examples. | |Let us look at some examples. | ||
− | |||
|- | |- | ||
| 07:05 | | 07:05 | ||
− | |Create a new file in ''' gedit''' as shown in the basic level '''Ruby''' | + | |Create a new file in '''gedit''' as shown in the basic level '''Ruby tutorials'''. |
|- | |- | ||
| 07:09 | | 07:09 | ||
− | |And name it ''' class underscore methods dot rb'''. | + | |And name it: ''' class underscore methods dot rb'''. |
|- | |- | ||
Line 456: | Line 451: | ||
|- | |- | ||
| 07:17 | | 07:17 | ||
− | |You can pause the tutorial | + | |You can pause the tutorial and type the code as we go through it. |
|- | |- | ||
| 07:21 | | 07:21 | ||
− | |Here I have defined a class named ''' “Animal”.''' | + | |Here, I have defined a class named ''' “Animal”.''' |
|- | |- | ||
| 07:23 | | 07:23 | ||
− | |Then I have two | + | |Then I have two methods- “breathe” and “walk”. |
|- | |- | ||
| 07:28 | | 07:28 | ||
− | |They are both defined with the | + | |They are both defined with the “def” and “end” keywords. |
|- | |- | ||
Line 476: | Line 471: | ||
|- | |- | ||
| 07:36 | | 07:36 | ||
− | |I have assigned it to a variable called | + | |I have assigned it to a variable called “animal” with lowercase “a”. |
|- | |- | ||
| 07:40 | | 07:40 | ||
− | |Then I have invoked the | + | |Then I have invoked the methods “breathe” and “walk” consecutively. |
|- | |- | ||
| 07:48 | | 07:48 | ||
− | |Now let us execute the program. | + | |Now, let us '''execute''' the program. |
|- | |- | ||
| 07:51 | | 07:51 | ||
− | |Switch to the '''terminal''' and type | + | |Switch to the '''terminal''' and type: |
|- | |- | ||
Line 504: | Line 499: | ||
|- | |- | ||
| 08:02 | | 08:02 | ||
− | |'''“ I breathe” | + | |'''“ I breathe” ''' |
|- | |- | ||
| 08:03 | | 08:03 | ||
− | |''' | + | |'''“I walk” ''' |
|- | |- | ||
Line 533: | Line 528: | ||
|- | |- | ||
| 08:25 | | 08:25 | ||
− | |And name it '''class underscore methods underscore with underscore trailing underscore characters dot rb''' | + | |And name it '''class underscore methods underscore with underscore trailing underscore characters dot rb'''. |
|- | |- | ||
Line 541: | Line 536: | ||
|- | |- | ||
| 08:40 | | 08:40 | ||
− | |You can pause the tutorial | + | |You can pause the tutorial and type the code as we go through it. |
|- | |- | ||
| 08:45 | | 08:45 | ||
− | |Here I have taken the same class as before as an example. | + | |Here, I have taken the same '''class''' as before, as an example. |
|- | |- | ||
| 08:48 | | 08:48 | ||
− | |Here the '''breathe method''' has a trailing | + | |Here, the '''"breathe" method''' has a trailing question mark (?). |
|- | |- | ||
Line 562: | Line 557: | ||
|- | |- | ||
| 09:00 | | 09:00 | ||
− | |The '''method''' gets invoked by declaring '''animal dot breathe question-mark''' | + | |The '''method''' gets invoked by declaring '''animal dot breathe question-mark'''. |
|- | |- | ||
| 09:06 | | 09:06 | ||
− | |Switch to the '''terminal''' and type | + | |Switch to the '''terminal''' and type: |
|- | |- | ||
| 09:09 | | 09:09 | ||
|'''ruby space class underscore methods underscore with underscore trailing underscore characters dot rb''' and see the output. | |'''ruby space class underscore methods underscore with underscore trailing underscore characters dot rb''' and see the output. | ||
− | |||
|- | |- | ||
| 09:22 | | 09:22 | ||
− | |You will notice the output as : | + | |You will notice the output as : ''' “true” ''' |
− | + | ||
|- | |- | ||
Line 592: | Line 585: | ||
|- | |- | ||
| 09:41 | | 09:41 | ||
− | |Then let us execute this | + | |Then let us execute this method. |
|- | |- | ||
| 09:44 | | 09:44 | ||
− | |Switch to the '''terminal''' and type | + | |Switch to the '''terminal''' and type: |
|- | |- | ||
| 09:45 | | 09:45 | ||
− | |'''ruby class underscore methods underscore with underscore trailing underscore characters dot rb ''' | + | |'''ruby class underscore methods underscore with underscore trailing underscore characters dot rb''' |
− | + | ||
|- | |- | ||
Line 625: | Line 617: | ||
|- | |- | ||
| 10:13 | | 10:13 | ||
− | |Type '''puts animal dot walk equal to “ hops” ''' | + | |Type: '''puts animal dot walk equal to “ hops” '''. |
|- | |- | ||
| 10:17 | | 10:17 | ||
− | |Now let give it another try. | + | |Now, let us give it another try. |
|- | |- | ||
Line 649: | Line 641: | ||
|- | |- | ||
| 10:42 | | 10:42 | ||
− | |In this tutorial we have learnt- | + | |In this tutorial, we have learnt- |
|- | |- | ||
| 10:44 | | 10:44 | ||
− | |How to declare '''classes ''' | + | |* How to declare '''classes ''' |
|- | |- | ||
| 10:46 | | 10:46 | ||
− | |How to create ''' objects''' of a ''' class ''' | + | |* How to create '''objects''' of a ''' class''' |
|- | |- | ||
| 10:48 | | 10:48 | ||
− | |Different ways of defining '''methods''' in '''Ruby''' | + | |* Different ways of defining '''methods''' in '''Ruby'''. |
|- | |- | ||
Line 669: | Line 661: | ||
|- | |- | ||
| 10:54 | | 10:54 | ||
− | |Define a '''class Product ''' | + | |Define a '''class Product''' |
|- | |- | ||
Line 681: | Line 673: | ||
|- | |- | ||
|11:05 | |11:05 | ||
− | |Instantiate the object of the class and set and get values using the above 2 methods. | + | |Instantiate the object of the '''class''' and set and get values using the above 2 methods. |
− | + | ||
|- | |- | ||
Line 690: | Line 681: | ||
|- | |- | ||
| 11:14 | | 11:14 | ||
− | |It | + | |It summarizes the Spoken Tutorial project. |
|- | |- | ||
Line 698: | Line 689: | ||
|- | |- | ||
| 11:22 | | 11:22 | ||
− | | The Spoken Tutorial | + | | The Spoken Tutorial project team: |
|- | |- | ||
| 11:24 | | 11:24 | ||
− | |Conducts workshops using spoken tutorials | + | |* Conducts workshops using spoken tutorials. |
|- | |- | ||
|11:27 | |11:27 | ||
− | |Gives certificates to those who pass an online test | + | |* Gives certificates to those who pass an online test. |
|- | |- | ||
| 11:30 | | 11:30 | ||
− | |For more details, please write to contact@spoken-tutorial.org | + | |For more details, please write to: |
+ | contact@spoken-tutorial.org | ||
|- | |- | ||
| 11:36 | | 11:36 | ||
− | | | + | | '''Spoken Tutorial''' project is a part of the '''Talk to a Teacher''' project. |
|- | |- | ||
Line 722: | Line 714: | ||
|- | |- | ||
| 11:46 | | 11:46 | ||
− | |More information on this | + | |More information on this mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro. |
|- | |- | ||
| 11:56 | | 11:56 | ||
− | | This is Anjana Nair signing off. Thank you | + | | This is Anjana Nair, signing off. Thank you. |
|} | |} |
Revision as of 22:07, 29 October 2015
Time | Narration |
00:01 | Welcome to this spoken tutorial on Object Oriented Concept in Ruby. |
00:06 | In this tutorial, we will learn to use- |
00:08 | * classes |
00:09 | * creating objects |
00:10 | * different ways of defining methods in Ruby |
00:13 | Here we are using: |
00:14 | * Ubuntu version 12.04 |
00:16 | * Ruby 1.9.3 |
00:19 | To follow this tutorial, you must have knowledge of Linux commands, Terminal and Text-editor. |
00:24 | If not, for relevant tutorials, please visit our website. |
00:28 | Before we begin, recall that we had created a “ttt” directory earlier. |
00:33 | Let's go to that directory. |
00:35 | To ruby hyphen tutorial and classes directory. |
00:41 | Ruby is an object oriented language. |
00:44 | Everything in Ruby is an object; from a value to a string or number. |
00:49 | A class' is a collection of related data and functions. |
00:53 | It can serve to keep information organized. |
00:56 | An object is an instantiation of a class. |
01:00 | A class definition begins with the keyword class. |
01:05 | It is followed by the name of the class. |
01:08 | It is delimited with an “end”. |
01:11 | Let us look at an example of a class. |
01:14 | class Product |
01:16 | ruby code |
01:17 | end |
01:20 | The name of the class must begin with a capital letter. |
01:24 | Names that contain more than one word should be camelcased. |
01:28 | For example, |
01:30 | UserInformation |
01:32 | ProductInformation |
01:34 | The subsequent file names will have underscore separating the words: |
01:37 | user underscore information |
01:40 | product underscore information |
01:45 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
01:48 | Name it class_definition.rb |
01:52 | I have a working example of the implementation of classes. |
01:57 | You can pause the tutorial and type the code as we go through it. |
02:02 | I have defined a class named Order in this example. |
02:05 | Now, let us make the class useful by adding some variables. |
02:11 | Then I have defined an instance variable “myinstance”. |
02:15 | And I have assigned a value to it. |
02:18 | I have also defined a class variable “myclassvar” . |
02:21 | And I have assigned a value to it. |
02:24 | Now, let us add some code that will make use of this class. |
02:30 | Type puts Order dot instance underscore variables.
|
02:36 | Before this line, add puts some characters slash n for a new line. |
02:43 | Let us copy and paste that and add it just below the line we added and save it. |
02:51 | Now, let us execute this code. |
02:53 | Switch to the terminal and type: |
02:56 | ruby space class underscore definition dot rb |
03:02 | and see the output. |
03:05 | You will see the instance variable you defined. |
03:09 | Now, let us type: puts Order dot class underscore variables. |
03:15 | Let us copy and paste the demarcation, just below the line and save it. |
03:21 | Now, let us switch to the terminal and execute the file like before. |
03:26 | You will notice the class variable you defined, also show up. |
03:32 | You should now be able to write your own class. |
03:35 | Next, let us look at what an object is. |
03:40 | An object is an instance of a class. |
03:43 | Which means, an object is created from a class. |
03:46 | An object will have the properties and methods defined in the class. |
03:52 | How do you declare an object? |
03:54 | We declare an object of a class using the "new" keyword.
|
03:58 | Here, we are declaring an object of the Product class. |
04:02 | Here, an object gets created. |
04:05 | product = Product.new |
04:09 | This process is called initialization of an object. |
04:12 | This object is of type : Product.
|
04:16 | Now, let is look at what an “initialize” method is. |
04:20 | An initialize method is called at the time of object creation. |
04:26 | On calling new on an object, we invoke the initialize method. |
04:31 | An initialize method may take a list of parameters. |
04:37 | Like other Ruby methods, it is preceded by the “def” keyword. |
04:43 | Let us look at an example. |
04:46 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
04:50 | And name it object undescore initialize dot rb. |
04:55 | I have a working example of the object initialization code. |
05:00 | You can pause the tutorial and type the code as we go through it. |
05:04 | Here, I have defined a class called “Order” . |
05:08 | Then I have defined the initialize method, with no argument. |
05:13 | I have defined a 'puts' method to display the message: “I have created an object”. |
05:20 | Next, I have defined Order dot new. |
05:24 | This will invoke the initialize method. |
05:27 | Switch to the terminal and type: |
05:31 | ruby space object underscore initialize dot rb |
05:36 | and see the output. |
05:39 | You will see the message “I have created an object”. |
05:43 | Now, let us go back to gedit and add an argument to the method. |
05:48 | Let us modify the puts. |
05:51 | It should display the value of the argument passed. |
05:55 | Next, let us type: |
05:56 | Order dot new(“I have created an object”). |
06:04 | Here, we have given an argument to the new method. |
06:08 | This argument gets passed on to the initialize method. |
06:13 | Switch to the terminal and type: |
06:16 | ruby space object underscore initialize dot rb |
06:20 | and see the output. |
06:22 | You will see the message “I have created an object” printed out. |
06:29 | Now, you would have understood what object initialization means. |
06:33 | Recall that in Ruby, methods are the functions that a class performs. |
06:39 | Each method in a class is defined within the “def” and “end” block.
|
06:45 | A multiword method-name is separated with an underscore. |
06:48 | Some of the characters that can be appended to a method name are: |
06:54 | '?' (question-mark) |
06:56 | '=' (equal to). |
06:58 | Each of the characters add some meaning to the method. |
07:02 | Let us look at some examples. |
07:05 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
07:09 | And name it: class underscore methods dot rb. |
07:14 | I have a working example of class methods code. |
07:17 | You can pause the tutorial and type the code as we go through it. |
07:21 | Here, I have defined a class named “Animal”. |
07:23 | Then I have two methods- “breathe” and “walk”. |
07:28 | They are both defined with the “def” and “end” keywords. |
07:32 | I have then initialized the object Animal. |
07:36 | I have assigned it to a variable called “animal” with lowercase “a”. |
07:40 | Then I have invoked the methods “breathe” and “walk” consecutively. |
07:48 | Now, let us execute the program. |
07:51 | Switch to the terminal and type: |
07:53 | ruby space class underscore methods dot rb |
07:58 | and see the output. |
08:00 | You will notice the lines: |
08:02 | “ I breathe” |
08:03 | “I walk” |
08:04 | printed out. |
08:05 | This is because you have invoked the two methods “breathe” and “walk”.
|
08:10 | A “puts” statement defined within these methods gives the results you see. |
08:16 | Next, let us look at how to create methods with a trailing question mark. |
08:21 | Create a new file in gedit as shown in the basic level Ruby tutorials. |
08:25 | And name it class underscore methods underscore with underscore trailing underscore characters dot rb. |
08:35 | I have a working example of class methods with question mark code. |
08:40 | You can pause the tutorial and type the code as we go through it. |
08:45 | Here, I have taken the same class as before, as an example. |
08:48 | Here, the "breathe" method has a trailing question mark (?). |
08:52 | Such methods are generally used to return boolean values.
|
08:55 | This is based on the method naming convention of Ruby. |
09:00 | The method gets invoked by declaring animal dot breathe question-mark. |
09:06 | Switch to the terminal and type: |
09:09 | ruby space class underscore methods underscore with underscore trailing underscore characters dot rb and see the output. |
09:22 | You will notice the output as : “true” |
09:26 | Next, let us define another method called “walk”. |
09:30 | Let us place an equal-to sign “=(value)” beside it. |
09:36 | Let us invoke this method by calling animal dot walk. |
09:41 | Then let us execute this method. |
09:44 | Switch to the terminal and type: |
09:45 | ruby class underscore methods underscore with underscore trailing underscore characters dot rb |
09:52 | and see the output. |
09:56 | It will give an “undefined method” error. |
09:59 | This is because the equal to sign has another meaning. |
10:03 | It is used to assign a value to a method. |
10:08 | So, let us invoke the method a little differently this time. |
10:13 | Type: puts animal dot walk equal to “ hops” . |
10:17 | Now, let us give it another try. |
10:20 | Switch to the terminal and run the command like before and see the output. |
10:27 | You will notice that the word “hops” get printed. |
10:30 | This demonstrates that the equal to sign next to a method means assignment. |
10:36 | Now you should be able to write your own methods. |
10:42 | In this tutorial, we have learnt- |
10:44 | * How to declare classes |
10:46 | * How to create objects of a class |
10:48 | * Different ways of defining methods in Ruby. |
10:52 | As an assignment: |
10:54 | Define a class Product |
10:56 | Define methods that you can use to get values of “myvar” and set values for “myvar”. |
11:01 | To set values, define the method using “=” sign. |
11:05 | Instantiate the object of the class and set and get values using the above 2 methods. |
11:12 | Watch the video available at the following link. |
11:14 | It summarizes the Spoken Tutorial project. |
11:18 | If you do not have good bandwidth, you can download and watch it. |
11:22 | The Spoken Tutorial project team: |
11:24 | * Conducts workshops using spoken tutorials. |
11:27 | * Gives certificates to those who pass an online test. |
11:30 | For more details, please write to:
contact@spoken-tutorial.org |
11:36 | Spoken Tutorial project is a part of the Talk to a Teacher project. |
11:39 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
11:46 | More information on this mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro. |
11:56 | This is Anjana Nair, signing off. Thank you. |
Contributors and Content Editors
Jyotisolanki, PoojaMoolya, Pratik kamble, Sandhya.np14, Shruti arya