GNU Info

Info Node: (emacs-lisp-intro.info)Prepare the data

(emacs-lisp-intro.info)Prepare the data


Prev: Several files recursively Up: Words in a defun
Enter node , (file) or (file)node

Prepare the Data for Display in a Graph
=======================================

   The `recursive-lengths-list-many-files' function returns a list of
numbers.  Each number records the length of a function definition.
What we need to do now is transform this data into a list of numbers
suitable for generating a graph.  The new list will tell how many
functions definitions contain less than 10 words and symbols, how many
contain between 10 and 19 words and symbols, how many contain between
20 and 29 words and symbols, and so on.

   In brief, we need to go through the lengths' list produced by the
`recursive-lengths-list-many-files' function and count the number of
defuns within each range of lengths, and produce a list of those
numbers.

   Based on what we have done before, we can readily foresee that it
should not be too hard to write a function that `CDRs' down the
lengths' list, looks at each element, determines which length range it
is in, and increments a counter for that range.

   However, before beginning to write such a function, we should
consider the advantages of sorting the lengths' list first, so the
numbers are ordered from smallest to largest.  First, sorting will make
it easier to count the numbers in each range, since two adjacent
numbers will either be in the same length range or in adjacent ranges.
Second, by inspecting a sorted list, we can discover the highest and
lowest number, and thereby determine the largest and smallest length
range that we will need.

Sorting
Sorting lists.
Files List
Making a list of files.
Counting function definitions

automatically generated by info2www version 1.2.2.9