From b1681857c87646b8f3e23bc029187ad80e9d7862 Mon Sep 17 00:00:00 2001 From: crc Date: Sun, 22 Oct 2017 03:12:14 +0000 Subject: [PATCH] example showing use of `d:for-each` to calculate dictionary stats FossilOrigin-Name: 34cc637d020e1ddff2929ad9131e51e4319b61adf4a2efd59ef5e9e6484e5d04 --- example/DictionaryStats.forth | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 example/DictionaryStats.forth diff --git a/example/DictionaryStats.forth b/example/DictionaryStats.forth new file mode 100644 index 0000000..cc0ebdd --- /dev/null +++ b/example/DictionaryStats.forth @@ -0,0 +1,23 @@ +It's sometimes interesting to take some measurements of dictionary names. + +Determine the number of words in the dictionary. + +~~~ +#0 [ drop n:inc ] d:for-each +'%n_names_defined\n s:with-format puts +~~~ + +Determine the average length of a word name. + +~~~ +#0 [ d:name s:length + ] d:for-each +#0 [ drop n:inc ] d:for-each +/ 'Average_name_length:_%n\n s:with-format puts +~~~ + +Longest name are... + +~~~ +#0 [ d:name s:length n:max ] d:for-each +'Longest_names_are_%n_characters\n s:with-format puts +~~~