Chapter 11. Storing Structured Data

Étude 11-1: Using ETS

This étude will set up a small database that keeps track of phone calls.

Part One

Start by creating a record that defines these fields:

  • Phone number
  • Starting date (month, day, and year)
  • Starting time (hours, minutes, and seconds)
  • End date (month, day, and year)
  • End time (hours, minutes, and seconds)

You may name the record whatever you wish, and you may use any field names you wish. For the default values for dates and times, use the strings "1900-01-01" and "00:00:00".

In a module named PhoneETS, read a data file of phone call summaries and create an ETS table for the calls. The function that does this will be named setup/1, and its argument will be the name of the file containing the data.

Copy the following text into a file named call_data.csv and save the file in the same directory where you are going to write your module.

650-555-3326,2013-03-10,09:01:47,2013-03-10,09:05:11 415-555-7871,2013-03-10,09:02:20,2013-03-10,09:05:09 729-555-8855,2013-03-10,09:00:55,2013-03-10,09:02:18 729-555-8855,2013-03-10,09:02:57,2013-03-10,09:03:56 213-555-0172,2013-03-10,09:00:59,2013-03-10,09:03:49 946-555-9760,2013-03-10,09:01:20,2013-03-10,09:03:10 301-555-0433,2013-03-10,09:01:44,2013-03-10,09:04:06 301-555-0433,2013-03-10,09:05:17,2013-03-10,09:07:53 301-555-0433,2013-03-10,09:10:05,2013-03-10,09:13:14 729-555-8855,2013-03-10,09:04:40,2013-03-10,09:07:29 213-555-0172,2013-03-10,09:04:26,2013-03-10,09:06:00 213-555-0172,2013-03-10,09:06:59,2013-03-10,09:10:35 ...

Get Études for Elixir now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.