src/doc: introduce option --no-render in HTML phase.
[nit.git] / examples / rosettacode / semordnilap.nit
1 #!/usr/bin/env nit
2 #
3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # This program is public domain
5
6 # Simple Rosettacode task for the detection of semordnilaps in a text file
7 #
8 # SEE: http://rosettacode.org/wiki/Semordnilap
9 module semordnilap
10
11 if args.is_empty then
12 print "Usage: ./semordnilap file"
13 exit(1)
14 end
15
16 var filename = args[0]
17 var words = new HashSet[String]
18
19 for i in filename.to_path.each_line do words.add i.trim
20
21 var semordnilaps = new HashSet[String]
22 var pairs = new HashMap[String, String]
23
24 for i in words do
25 var revi = i.reversed
26 if i != revi and words.has(revi) and not semordnilaps.has(i) then
27 semordnilaps.add i
28 semordnilaps.add revi
29 pairs[i] = revi
30 end
31 end
32
33 print "Found {pairs.length} semordnilaps in {args[0]}"
34 var it = pairs.iterator
35 for i in [0 .. 5[ do
36 print "{it.key}: {it.item}"
37 it.next
38 end