1)What is Ruby programming language?
Ans)Ruby is a dynamic, reflective, general purpose, open source programming language that focuses on simplicity and productivity. Ruby has a mixed features of Perl, small talk, Eiffel, Ada and Lisp. Ruby was designed to create a new language which makes a balance with the functionality of Imperative languages.
2)Who is the developer of Ruby?
Ans)Ruby is designed and developed by Yukihiro "martz" Matsumoto in mid 1990 in Japan.
3)Why Ruby is known as a language of flexibility?
Ans)Ruby is known as a language of flexibility because it facilitates its author to alter the programming elements. Some specific parts of the language can be removed or redefined. Ruby does not restrict the user. For example, to add two numbers, Ruby allows to use + sign or the word 'plus'. This alteration can be done with Ruby's built-in class Numeric.
4)Write the command to get installed Ruby version in your system.
Ans)ruby -v
5)What are class libraries in Ruby?
Ans)Ruby class libraries contain variety of domain such as thread programming, data types, various domains. Following is a list of domains which has relevant class libraries:
6)What is RubyGems in Ruby programming language?
Ans) RubyGems provides a standard format for distributing ruby programs and libraries. It works as a package manager for the Ruby programming language. RubyGems is now a part of the standard library from Ruby version 1.9.
7)What is the use of load and require in Ruby?
Ans)In Ruby, load and require both are used for loading the available code into the current code. In cases where loading the code required every time when changed or every times someone hits the URL, it is suggested to use 'load'. It case of autoload, it is suggested to use 'require'.
8)Explain Ruby if-else statement.
Ans) The Ruby if-else statement is used to test condition. There are various types of statement in Ruby.
9)Explain case statement in Ruby?
Ans) In Ruby, we use 'case' instead of 'switch' and 'when' instead of 'case'. The case statement matches one statement with multiple conditions just like a switch statement in other languages.
10) Explain for loop in Ruby.
Ans)Ruby for loop iterates over a specific range of numbers. Hence, for loop is used if a program has fixed number of itrerations. Ruby for loop will execute once for each element in expression.
11)Explain break statement in Ruby?
Ans) Ruby break statement is used to terminate a loop. It is mostly used in while loop where value is printed till the condition is true.
12)Explain redo statement in Ruby?
Ans)Ruby redo statement is used to repeat the current iteration of the loop. The redo statement is executed without evaluating loop's condition.
13) Explain Ruby object?
14) In how many ways a block is written in Ruby.
15) Explain ampersand parameter (&block) in Ruby?
Ans) The &block is a way to pass a reference (instead of a local variable) to the block to a method. Here, block word after the & is just a name for the reference, any other name can be used instead of this.
16)Explain Ruby module?
17) Explain module mixins in Ruby?
18) How to access Ruby strings elements in an application?
19) How to write multiline string in Ruby?
20) What is the use of global variable $ in Ruby?
Ans)The global variable is declared in Ruby that you can access it anywhere within the application because it has full scope in the application. The global variables are used in Ruby with $ prepend.
21)What is concatenating string in Ruby. In how many ways you can create a concatenating string.
Ans)Ruby concatenating string implies creating one string from multiple strings. You can join more than one string to form a single string by concatenating them. There are four ways to concatenate Ruby strings into single string:
22)What are freezing string in Ruby?
Ans) In most programming languages strings are immutable. It means that an existing string can't be modified, only a new string can be created out of them. In Ruby, by default strings are not immutable. To make them immutable, freeze method can be used.
23)In how many ways you can compare Ruby string?
Ans)Ruby strings can be compared with three operators:
24)What are Ruby arrays and how they can be created?
Ans)Ruby arrays are ordered collections of objects. They can hold objects like integer, number, hash, string, symbol or any other array. Its indexing starts with 0. The negative index starts with -1 from the end of the array. For example, -1 indicates last element of the array and 0 indicates first element of the array. A Ruby array is created in many ways.
25) How to access Ruby array elements? How many methods are used to access Ruby elements.?
27)In how many ways items can be added in an array in Ruby?
28) In how many ways items can be removed from array in Ruby?
29) Explain Ruby hashes.
Ans)A Ruby hash is a collection of unique keys and their values. They are similar to arrays but array use integer as an index and hash use any object type. They are also called associative arrays, dictionaries or maps. If a hash is accessed with a key that does not exist, the method will return nil.
30) How to create a new time instance in Ruby?
Ans) A new Time instance can be created with ::new. This will use your current system's time. Parts of time like year, month, day, hour, minute, etc can also be passed. While creating a new time instance, you need to pass at least a year. If only year is passed, then time will default to January 1 of that year at 00:00:00 with current system time zone.
31)What are Ruby iterators?
Ans) Iterator is a concept used in object-oriented language. Iteration means doing one thing many times like a loop. The loop method is the simplest iterator. They return all the elements from a collection, one after the other. Arrays and hashes come in the category of collection.
32) How to open a file in Ruby?
33)How to read a file in Ruby?
34)What is sysread method in Ruby?
Ans) The sysread method is also used to read the content of a file. With the help of this method you can open a file in any mode.
35) How will you rename and delete a file in Ruby?
36)How to check whether a directory exist or not in Ruby?
37)Explain Ruby exceptions.
Ans)Ruby exception is an object, an instance of the class Exception or descendent of that class. When something goes wrong, Ruby program throws an exceptional behavior. By default Ruby program terminates on throwing an exception.
38)How an exception is handled in Ruby?
Ans) To handle exception, the code that raises exception is enclosed within begin-end block. Using rescue clauses we can state type of exceptions we want to handle.
39) Explain raise statement in Ruby?
40)Explain the use of ensure statement in Ruby?
Ans)There is an ensure clause which guarantees some processing at the end of code. The ensure block always run whether an exception is raised or not. It is placed after last rescue clause and will always executed as the block terminates. The ensure block will run at any case whether an exception arises, exception is rescued or code is terminated by uncaught exception.
41) Explain what is ORM (Object-Relationship-Model) in Rails?
Ans)ORM or Object Relationship Model in Rails indicate that your classes are mapped to the table in the database, and objects are directly mapped to the rows in the table.
42)Mention what the difference is between false and nil in Ruby?
Ans)In Ruby False indicates a Boolean datatype, while Nil is not a data type, it have an object_id 4.
43) Explain what is the role of sub-directory app/controllers and app/helpers?
Ans) App/controllers: A web request from the user is handled by the Controller. The controller sub-directory is where Rails looks to find controller classes
App/helpers: The helper’s sub-directory holds any helper classes used to assist the view, model and controller classes.
44) Mention what is Rails Migration?
Ans) Rails Migration enables Ruby to make changes to the database schema, making it possible to use a version control system to leave things synchronized with the actual code.
45)Mention what is the command to create a migration?
Ans) To create migration command includes
C:\ruby\application>ruby script/generate migration table_name
46)Explain when self.up and self.down method is used?
Ans)When migrating to a new version, self.up method is used while self.down method is used to roll back my changes if needed.
47)Mention what is the difference between Active support’s “HashWithIndifferent” and Ruby’s “Hash” ?
Ans) The Hash class in Ruby’s core library returns value by using a standard “= =” comparison on the keys. It means that the value stored for a symbol key cannot be retrieved using the equivalent string. While the HashWithIndifferentAccess treats Symbol keys and String keys as equivalent.
48)Explain what is sweeper in Rails?
Ans) Sweepers are responsible for expiring or terminating caches when model object changes.
49)Mention the log that has to be seen to report errors in Ruby Rails?
Ans)Rails will report errors from Apache in the log/Apache.log and errors from the Ruby code in log/development.log.
50)Mention what is the purpose of RJs in Rails?
Ans) RJs is a template that produces JavaScript which is run in an eval block by the browser in response to an AJAX request. It is sometimes used to define the JavaScript, Prototype and helpers provided by Rails.