Home » Ruby programming

Ruby assoc() function

Ruby assoc() function: Here, we are going to learn about the assoc() function with example in Ruby programming language.
Submitted by Hrithik Chandra Prasad, on September 01, 2019

assoc() function in Ruby

We have studied functions to process single dimensional array so far but if we talk about assoc() function, it does not work for single dimensional arrays. assoc() function only works on Array of Arrays or you can say that it works on multidimensional arrays. The purpose of the assoc() function is to check the first element of each array. It processes array by checking the first element of the array with the specified index element, if the element is found then the whole array is returned otherwise the function returns nil or vacant.

Syntax:

 Array_name.assoc(Object)

Now, let us understand the implementation of assoc() function with the help of examples broadly,

Example 1:

=begin
Ruby program to demonstrate implementation of assoc() function
=end

# Initializing multiple arrays of elements 
Arr1 = ["Fruits", "banana", "apple", "orange", "kiwi", "apricot", "Pineapple"] 
Arr2 = ["Languages", "C#", "Java", "Ruby", "Python", "C++","C"] 
Arr3 = ["Colors", "Red", "Brown", "Green", "Pink", "Yellow", "Teal"]
Arr4 = ["Vegetables", "Brinjal", "Tomato", "Potato", "Reddish"] 

# Creating a final array of above arrays 
FinalArray = [Arr1, Arr2, Arr3, Arr4] 

# Invoking assoc() function 
A1 = FinalArray.assoc("Fruits") 
A2 = FinalArray.assoc("Languages") 
A3 = FinalArray.assoc("Colors")
A4 = FinalArray.assoc("Vegetables") 

# Printing the matched contained array 
puts "#{A1}"
puts "#{A2}"
puts "#{A3}"
puts "#{A4}"

Output

["Fruits", "banana", "apple", "orange", "kiwi", "apricot", "Pineapple"]
["Languages", "C#", "Java", "Ruby", "Python", "C++", "C"]
["Colors", "Red", "Brown", "Green", "Pink", "Yellow", "Teal"]
["Vegetables", "Brinjal", "Tomato", "Potato", "Reddish"]

Code logic:

In the above example, we have initialized four arrays along with their categories as the first element of the array. Finalarray is storing these arrays as its elements. When the assoc() function is invoked with the element as an index, then the element is compared with the first element of each array. Arrays A1, A2, A3, and A4 are storing the contained array.

Example 2:

=begin
Ruby program to demonstrate implementation of assoc() function
=end

# Initializing multiple arrays of elements 
Arr1 = ["Fruits", "banana", "apple", "orange", "kiwi", "apricot","Pineapple"] 
Arr2 = ["Languages", "C#", "Java", "Ruby", "Python","C++","C"] 
Arr3 = ["Colors", "Red", "Brown", "Green", "Pink","Yellow","Teal"]
Arr4 = ["Vegetables", "Brinjal", "Tomato", "Potato", "Raddish"] 

# Creating a final array of above arrays 
FinalArray = [Arr1, Arr2, Arr3, Arr4] 

# Taking input from user.
puts "Enter the catagory:-"
cat = gets.chomp
arr = FinalArray.assoc(cat)
if (arr==nil)
	puts "category not available"
else
	puts "The available elements under the category is:-"
puts "#{arr}"
end

Output

Run 1:-
Enter the category:-
Colors
The available elements under the category is:-
["Colors", "Red", "Brown", "Green", "Pink", "Yellow", "Teal"]

Run 2:-
Enter the category:-
Cars
category not available

Run 3:-
Enter the category:-
Fruits
The available elements under the category is:-
["Fruits", "banana", "apple", "orange", "kiwi", "apricot", "Pineapple"]

Code logic:

In this example, we have declared four arrays and then the final array. We are taking category as input from the user. We are passing that category to the assoc() function. If the category matches, the array is stored in the contained array otherwise assoc() is returning nil.






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.
Learn PCB Designing: PCB DESIGNING TUTORIAL




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.