1. What is Ruby?
Ans:- Ruby is a dynamic, object-oriented programming language known for its simplicity and productivity. It is designed to be easy to read and write, making it a popular choice for web development.
2. Who created Ruby?
Ans:- Ruby was created by Yukihiro “Matz” Matsumoto, a Japanese computer scientist, in the mid-1990s.
3. Is Ruby a compiled or interpreted language?
Ans:- Ruby is interpreted. It uses an interpreter to execute code directly, without the need for a separate compilation step.
4. What is the philosophy of Ruby?
Ans:- Ruby follows the principle of “optimization for developer happiness.” Matz designed Ruby to prioritize the happiness and productivity of programmers.
5. Can Ruby be used for web development?
Ans:- Yes, Ruby is commonly used for web development, and frameworks like Ruby on Rails (RoR) are popular for building web applications.
6. What is RubyGems?
Ans:- RubyGems is a package manager for Ruby that simplifies the process of distributing and managing Ruby libraries and applications.
7. How do you install RubyGems?
Ans:- RubyGems is usually included with the Ruby installation. You can use the gem command to manage gems. For example, gem install gemName installs a gem.
8. What is Ruby on Rails (RoR)?
Ans:- Ruby on Rails, often referred to as Rails, is a web application framework written in Ruby. It follows the Model-View-Controller (MVC) architecture.
9. How do you install Ruby on Rails?
Ans:- You can install Ruby on Rails using the command: gem install rails. Make sure RubyGems and Ruby are installed before installing Rails.
10. What is a Gemfile in Ruby on Rails?
Ans:- A Gemfile is a configuration file used in Ruby on Rails projects to specify the dependencies (gems) required for the application.
11. What is the difference between Symbols and Strings in Ruby?
Ans:- Symbols are immutable and unique, often used as identifiers, while strings are mutable and have different object IDs even if they contain the same content.
12. How does Ruby handle memory management?
Ans:- Ruby uses a garbage collector to automatically manage memory by reclaiming memory occupied by objects that are no longer in use.
13. What is a block in Ruby?
Ans:- A block in Ruby is a chunk of code enclosed within either braces {} or doā¦end. It can be passed to methods, often used for iteration.
14. Explain the concept of Modules in Ruby.
Ans:- Modules in Ruby provide a way to group related methods, classes, and constants. They allow for namespacing and code organization.
15. What is the purpose of the yield keyword in Ruby?
Ans:- The yield keyword is used in Ruby to invoke a block that is passed to a method. It allows methods to accept a block of code for execution.
16. Explain the difference between puts, print, and p in Ruby.
Ans:- puts prints a string with a newline, print prints without a newline, and p is used for debugging and provides a more detailed output.
17. What are instance variables in Ruby?
Ans:- Instance variables in Ruby are prefixed with @ and are used to store values that belong to a specific instance of a class.
18. Explain the difference between == and === in Ruby.
Ans:- == is used for equality comparisons, while === is often used in case statements and has different meanings depending on the context.
19. How are arrays different from hashes in Ruby?
Ans:- Arrays are ordered collections of elements accessed by index, while hashes are unordered collections with key-value pairs.
20. What is the purpose of the attr_accessor in Ruby classes?
Ans:- attr_accessor is a Ruby shorthand for creating getter and setter methods for class instance variables.
21. Explain the concept of metaprogramming in Ruby.
Ans:- Metaprogramming in Ruby involves writing code that writes or modifies other code during runtime, enabling dynamic and flexible behavior.
22. How does Ruby handle exceptions?
Ans:- Ruby uses a try-catch mechanism with begin, rescue, and ensure blocks for handling exceptions. raise is used to raise an exception.
23. What is a lambda in Ruby?
Ans:- A lambda in Ruby is a way to define an anonymous function. It is created using the lambda keyword or the -> syntax.
24. What is the self keyword in Ruby?
Ans:- self in Ruby refers to the current object or instance. It is used to access instance variables and call methods within the current scope.
25. How are symbols used as keys in a hash different from strings in Ruby?
Ans:- Symbols are immutable and have a single memory location, making them more efficient as hash keys compared to mutable strings.
26. Explain the concept of monkey patching in Ruby.
Ans:- Monkey patching in Ruby involves dynamically modifying or adding methods to existing classes or modules during runtime.
27. What is the purpose of the super keyword in Ruby?
Ans:- The super keyword is used to call the same method in the superclass, allowing a subclass to extend or override the behavior of the superclass method.
28. What is the spaceship operator (<=>) used for in Ruby?
Ans:- The spaceship operator is used for comparison and sorting. It returns -1, 0, or 1 based on whether the receiver is less than, equal to, or greater than the argument.
29. How does Ruby support multiple inheritance?
Ans:- Ruby does not support multiple inheritance in the traditional sense. Instead, it uses mixins, allowing classes to inherit behavior from multiple modules.
30. What is a Proc in Ruby?
Ans:- A Proc is an object that represents a block of code. It can be stored in a variable, passed as an argument, or converted into a lambda.
31. Explain the purpose of the FILE and LINE constants in Ruby.
Ans:- FILE returns the current file’s name, and LINE returns the current line number. They are often used for debugging and logging.
32. How does Ruby support parallel execution?
Ans:- Ruby supports parallel execution using threads and processes. The Thread class is used for threads, and the Process class is used for processes.
33. What is the include? method used for in Ruby?
Ans:- The include? method is used to check if a particular element exists in an array or a substring exists in a string.
34. How do you define a constant in Ruby?
Ans:- Constants in Ruby are defined using the const keyword or by capitalizing the variable name. For example, MY_CONSTANT = 42.
35. What is the purpose of the unless statement in Ruby?
Ans:- The unless statement is a conditional construct that executes code if the specified condition is false. It is the opposite of if.
36. How does Ruby support regular expressions?
Ans:- Ruby has built-in support for regular expressions through the Regexp class. Regular expression literals are written between slashes (/).
37. What is the purpose of the public, private, and protected keywords in Ruby?
Ans:- These keywords are used to control the visibility of methods. public allows access from anywhere, private restricts access to the defining class, and protected allows access within the class and its subclasses.
38. What is the << operator used for in Ruby?
Ans:- The << operator is used for appending elements to an array or characters to a string. It is also used in heredocs for multiline string input.
39. Explain the concept of a singleton class in Ruby.
Ans:- A singleton class in Ruby is a class that has only one instance. It is associated with a specific object and contains methods unique to that object.
40. What is the purpose of the freeze method in Ruby?
Ans:- The freeze method is used to prevent further modifications to an object. Once an object is frozen, attempting to modify it results in an error.
41. How does Ruby handle method overloading?
Ans:- Ruby does not support traditional method overloading with different parameter types. However, methods can be defined with default values for parameters.
42. What is the alias keyword used for in Ruby?
Ans:- The alias keyword is used to create aliases for methods, allowing different names to refer to the same method.
43. What is the purpose of the select method in Ruby?
Ans:- The select method is used to filter elements from an enumerable based on a given condition. It returns a new array containing the selected elements.
44. How do you open and read a file in Ruby?
Ans:- The File class is used to open and read files in Ruby. Methods like File.open and File.read can be employed for file operations.
45. What is the purpose of the retry keyword in Ruby?
Ans:- The retry keyword is used in a rescue block to restart the execution of a code block from the beginning.
46. How do you define a class method in Ruby?
Ans:- Class methods are defined using the self keyword followed by the method name within the class. For example, def self.my_method.
47. What is the purpose of the prepend module in Ruby?
Ans:- The prepend module is used to insert a module’s methods into a class or module’s hierarchy, giving them precedence over existing methods.
48. How does Ruby handle nil values?
Ans:- Ruby represents the absence of a value with the nil object. Methods like nil? and unless are used to check for nil values.
49. What is the purpose of the next keyword in Ruby?
Ans:- The next keyword is used in loops to skip the rest of the current iteration and move to the next one.
50. How do you convert a string to an integer in Ruby?
Ans:- The to_i method is used to convert a string to an integer in Ruby. For example, “42”.to_i returns the integer 42.