Sha256: 4949ba329fc73a12e5ea3b0ad70741b973c01ef1e8cab1a105ce27948782fcfe
Contents?: true
Size: 819 Bytes
Versions: 1
Compression:
Stored size: 819 Bytes
Contents
#!/usr/bin/ruby # # Experimenting with Lafcadio's pluralization algorithm # # Time-stamp: <13-Jul-2005 08:37:00 ged> # BEGIN { base = File::dirname( File::dirname(File::expand_path(__FILE__)) ) $LOAD_PATH.unshift "#{base}/lib" require "#{base}/utils.rb" include UtilityFunctions require 'linguistics' } $yaml = false Linguistics::use( :en ) def plural(singular) consonantYPattern = Regexp.new("([^aeiou])y$", Regexp::IGNORECASE) if singular =~ consonantYPattern singular.gsub consonantYPattern, '\1ies' elsif singular =~ /[xs]$/ singular + "es" else singular + "s" end end Words = %w[tree fairy address opus mythos child persona datum nucleus phenomenon commando radix seraph nexus series dais trellis ] Words.each do |word| puts "%s vs. %s" % [plural(word), word.en.plural] end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eviltrout-linguistics-1.0.6.1 | experiments/lafcadio_plural.rb |