== Type Extensions == Extend an existing type with additional method(s). == Grammar == {{{ extend EXISTINGTYPE def ADDMETHOD ... .... }}} == Example == {{{ #!cobra extend String def doubleLength as int return .length * 2 def capitalized as String """ Returns the string with the first character capitalized. Returns a blank string for a blank string. """ ensure result.length == .length result.length implies result[0] == result[0].toUpper test assert 'chuck'.capitalized == 'Chuck' assert 'Chuck'.capitalized == 'Chuck' assert ''.capitalized == '' assert ' foo'.capitalized == ' foo' assert 'f'.capitalized == 'F' assert '1aoeu'.capitalized == '1aoeu' body if .length == 0, return this return this[:1].toUpper + this[1:] }}} == Restrictions == You can use extension methods to extend a class or interface, but cannot override existing matching methods. See also: StandardLibraryExtensionMethods, LanguageTopics