6.12. Ruby class case

发布时间 :2023-10-26 23:00:07 UTC      

The following will create a file named Customer to declare two methods:the Ruby class:

  • display_details :This method is used to display the details of the customer

  • total_no_of_customers :This method is used to display the total number ofcustomers created in the system.

6.12.1. Example #

#!/usr/bin/rubyclassCustomer@@no_of_customers=0definitialize(id,name,addr)@cust_id=id@cust_name=name@cust_addr=addrenddefdisplay_details()puts"Customer
id #@cust_id"puts"Customer name #@cust_name"puts"Customer address
#@cust_addr"enddeftotal_no_of_customers()@@no_of_customers+=1puts"Total
number of customers: #@@no_of_customers"endend

display_details method contains three puts statement that displays the customer ID, customer name, and customer address. Among them puts statement:

puts"Customer id #@cust_id"

Text will be displayed on a single line Customer id and variables @cust_id value.

When you want to display the text and value of an instance variable on a single line, you need to use the puts the variable name of the statement is preceded by a symbol (#). Text and instance variables with symbols (#) should be marked in double quotation marks.

The second method total_no_of_customers which contains class variables @@no_of_customers expression. @@no_of\_ customers+=1 eachtime the method is called total_no_of_customers when you put the variable no_of_customers add one. In this way, you will get the total number of customers in the class variable.

Now create two customers, as follows:

cust1=Customer.new("1","John","Wisdom Apartments,
Ludhiya")cust2=Customer.new("2","Poul","New Empire road, Khandala")

Here, we created the Customer two objects of a class cust1 and cust2 and to new method to pass the necessary parameters. When initialize method is called, the necessary properties of the object are initialized.

Once the object is created, you need to use two objects to call the class’s methods. If you want to call a method or any data member, you can write codeas follows:

cust1.display_details()cust1.total_no_of_customers()

The object name is always followed by a period, followed by the method name or data member. We have seen how to use the cust1 object calls two methods. Use cust2 object, you can also call two methods, as follows:

cust2.display_details()cust2.total_no_of_customers()

Save and execute the code #

Now, put all the source code in main.rb in the file, as follows:

6.12.2. Example #

#!/usr/bin/rubyclassCustomer@@no_of_customers=0definitialize(id,name,addr)@cust_id=id@cust_name=name@cust_addr=addrenddefdisplay_details()puts"Customer
id #@cust_id"puts"Customer name #@cust_name"puts"Customer address
#@cust_addr"enddeftotal_no_of_customers()@@no_of_customers+=1puts"Total
number of customers:
#@@no_of_customers"endend#create objectcust1=Customer.new("1","John","Wisdom
Apartments, Ludhiya")cust2=Customer.new("2","Poul","New Empire road,
Khandala")#calling methodcust1.display_details()cust1.total_no_of_customers()cust2.display_details()cust2.total_no_of_customers()

Next, run the program, as follows:

$ ruby main.rb

This will produce the following results:

Customer id 1
Customer name John
Customer address Wisdom Apartments, Ludhiya
Total number of customers: 1
Customer id 2
Customer name Poul
Customer address New Empire road, Khandala
Total number of customers: 2

Principles, Technologies, and Methods of Geographic Information Systems  102

In recent years, Geographic Information Systems (GIS) have undergone rapid development in both theoretical and practical dimensions. GIS has been widely applied for modeling and decision-making support across various fields such as urban management, regional planning, and environmental remediation, establishing geographic information as a vital component of the information era. The introduction of the “Digital Earth” concept has further accelerated the advancement of GIS, which serves as its technical foundation. Concurrently, scholars have been dedicated to theoretical research in areas like spatial cognition, spatial data uncertainty, and the formalization of spatial relationships. This reflects the dual nature of GIS as both an applied technology and an academic discipline, with the two aspects forming a mutually reinforcing cycle of progress.