Ruby
Ruby is an interpreted, dynamic, open-source programming language with a focus on simplicity and productivity. Ruby focuses on POLA (Principle of Least Astonishment), meaning it aims to minimize confusion for experienced users.
This competency area includes understanding Ruby objects and their functionalities, working with Ruby Built-ins, Hash, Range, and Set, exploring Collections and Enumerables, building simple regular expressions, reading, and writing to JSON and XML file types, directory operations, among others.
Key Competencies:
-
Ruby Objects - Understanding how everything in Ruby is an object, sending messages to objects, overriding methods, class objects, and their methods. Working with inheritance, Object Hierarchy, and BasicObject.
-
Ruby Built-Ins - Built-in t_* methods: to_s, to_a, * operator, to_i, to_f, Boolean objects: true and false as objects and nil as a special object, and methods with a !.
-
Working with Hash, Range, and Set - Understanding Hash as a key-value pair, performing advanced Hash operations select, reject, has_key? Include? Value? and so on. Working with Rangers - range inclusion, range enumeration, and Sets - creation and set operations, subset & supersets.
-
Collections & Enumerable - Enumerable module and .each. Usage of Find, find_all, select, reject, grep, group_by, partition, take, drop, min, max, each_with_index, reverse_each, each_slice, each_cons, cycle. Usage of Inject, map, map!, reduce, sort, sort_by.
-
Regular Expressions - Building simple regular expressions using special characters and character classes. Matching regular expressions using .match, .captures.
-
File & Network IO - Reading and writing to JSON and XML file types. Directory operations and manipulations. Deriving information about files and handling errors and exceptions.