Skip to content

Latest commit

 

History

History
27 lines (23 loc) · 1.1 KB

8 kyu - altERnaTIng cAsE <=> ALTerNAtiNG CaSe.md

File metadata and controls

27 lines (23 loc) · 1.1 KB

Task

altERnaTIng cAsE <=> ALTerNAtiNG CaSe Define String.prototype.toAlternatingCase (or a similar function/method such as to_alternating_case/toAlternatingCase/ToAlternatingCase in your selected language; see the initial solution for details) such that each lowercase letter becomes uppercase and each uppercase letter becomes lowercase. For example:

"hello world".to_alternating_case() === "HELLO WORLD" "HELLO WORLD".to_alternating_case() === "hello world" "hello WORLD".to_alternating_case() === "HELLO world" "HeLLo WoRLD".to_alternating_case() === "hEllO wOrld" "12345".to_alternating_case() === "12345" // Non-alphabetical characters are unaffected "1a2b3c4d5e".to_alternating_case() === "1A2B3C4D5E" "String.prototype.toAlternatingCase".to_alternating_case() === "sTRING.PROTOTYPE.TOaLTERNATINGcASE" As usual, your function/method should be pure, i.e. it should not mutate the original string.

My solution

class String
  def to_alternating_case
    swapcase
  end
end

Explanation

  1. Fortunately this is a fairly simple and self explained solution. The .swapcase method swaps the case of the string!