Ruby Enumerables 2020
bogotobogo.com site search:
Ruby Enumerables
The Enumerable mixin provides collection classes with several traversal and searching methods, and with the ability to sort. The class must provide a method each, which yields successive members of the collection.
The following example shows the use of enumerable:
#!/usr/bin/ruby # en.rb class Menu include Enumerable def each yield "Quarks" yield "Lptons" yield "Gluons" yield "Photon" yield "Z Boson" yield "W Boson" yield "Higgs" end end menu = Menu.new menu.each do |item| puts "Do you know particle named as #{item}?" end puts puts "menu.find{|item| item = 'Quarks'}=" p menu.find{|item| item = 'Quarks'} puts puts "menu.select{|item| item.size <= 7}=" p menu.select{|item| item.size <= 7} puts puts "menu.reject{|item| item.size <= 7}=" p menu.reject{|item| item.size <= 7} puts puts "menu.first=" p menu.first puts puts "menu.take(2)=" p menu.take(2) puts puts "menu.drop(2)=" p menu.drop(2) puts puts "menu.min=" p menu.min puts puts "menu.max=" p menu.max puts puts "menu.sort=" p menu.sort puts puts "menu.reverse_each {|item| puts item}=" menu.reverse_each {|item| puts item}
Output:
Do you know particle named as Quarks? Do you know particle named as Lptons? Do you know particle named as Gluons? Do you know particle named as Photon? Do you know particle named as Z Boson? Do you know particle named as W Boson? Do you know particle named as Higgs? menu.find{|item| item = 'Quarks'}= "Quarks" menu.select{|item| item.size <= 7}= ["Quarks", "Lptons", "Gluons", "Photon", "Z Boson", "W Boson", "Higgs"] menu.reject{|item| item.size <= 7}= [] menu.first= "Quarks" menu.take(2)= ["Quarks", "Lptons"] menu.drop(2)= ["Gluons", "Photon", "Z Boson", "W Boson", "Higgs"] menu.min= "Gluons" menu.max= "Z Boson" menu.sort= ["Gluons", "Higgs", "Lptons", "Photon", "Quarks", "W Boson", "Z Boson"] menu.reverse_each {|item| puts item}= Higgs W Boson Z Boson Photon Gluons Lptons Quarks
Ruby on Rails
- Ruby On Rails Home
- Ruby - Input/Output, Objects, Load
- Ruby - Condition (if), Operators (comparison/logical) & case statement
- Ruby - loop, while, until, for, each, (..)
- Ruby - Functions
- Ruby - Exceptions (raise/rescue)
- Ruby - Strings (single quote vs double quote, multiline string - EOM, concatenation, substring, include, index, strip, justification, chop, chomp, split)
- Ruby - Class and Instance Variables
- Ruby - Class and Instance Variables II
- Ruby - Modules
- Ruby - Iterator : each
- Ruby - Symbols (:)
- Ruby - Hashes (aka associative arrays, maps, or dictionaries)
- Ruby - Arrays
- Ruby - Enumerables
- Ruby - Filess
- Ruby - code blocks and yield
- Rails - Embedded Ruby (ERb) and Rails html
- Rails - Partial template
- Rails - HTML Helpers (link_to, imag_tag, and form_for)
- Layouts and Rendering I - yield, content_for, content_for?
- Layouts and Rendering II - asset tag helpers, stylesheet_link_tag, javascript_include_tag
- Rails Project
- Rails - Hello World
- Rails - MVC and ActionController
- Rails - Parameters (hash, array, JSON, routing, and strong parameter)
- Filters and controller actions - before_action, skip_before_action
- The simplest app - Rails default page on a Shared Host
- Redmine Install on a Shared Host
- Git and BitBucket
- Deploying Rails 4 to Heroku
- Scaffold: A quickest way of building a blog with posts and comments
- Databases and migration
- Active Record
- Microblog 1
- Microblog 2
- Microblog 3 (Users resource)
- Microblog 4 (Microposts resource I)
- Microblog 5 (Microposts resource II)
- Simple_app I - rails html pages
- Simple_app II - TDD (Home/Help page)
- Simple_app III - TDD (About page)
- Simple_app IV - TDD (Dynamic Pages)
- Simple_app V - TDD (Dynamic Pages - Embedded Ruby)
- Simple_app VI - TDD (Dynamic Pages - Embedded Ruby, Layouts)
- App : Facebook and Twitter Authentication using Omniauth oauth2
- Authentication and sending confirmation email using Devise
- Adding custom fields to Devise User model and Customization
- Devise Customization 2. views/users
- Rails Heroku Deploy - Authentication and sending confirmation email using Devise
- Deploying a Rails 4 app on CentOS 7 production server with Apache and Passenger I
- Deploying a Rails 4 app on CentOS 7 production server with Apache and Passenger II
- OOPS! Deploying a Rails 4 app on CentOS 7 production server with Apache and Passenger (Trouble shooting)
Ph.D. / Golden Gate Ave, San Francisco / Seoul National Univ / Carnegie Mellon / UC Berkeley / DevOps / Deep Learning / Visualization