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