]]> ]]>

CamelCase в LOLCODE

Пример для версий loljs 1.1

Отметим, что в LOLCODE нет функций работы со строками и символами, кроме конкатенации — например, символы нельзя сравнивать BIGGR OF или SMALLR OF или получить их ASCII-коды. Поэтому для определения того, является ли символ буквой, и перевода его в другой регистр приходится создавать “словари” букв и искать в них нужную перебором.

HAI
  I HAS A UPP ITZ "QWERTYUIOPASDFGHJKLZXCVBNM"
  I HAS A LOW ITZ "qwertyuiopasdfghjklzxcvbnm"

  HOW DUZ I LOWER CHAR
    I HAS A I ITZ 0
    IM IN YR LOOP UPPIN YR I TIL BOTH SAEM I AN LEN OF UPP
      BOTH SAEM UPP!I AN CHAR, O RLY?
        YA RLY
          FOUND YR LOW!I
      OIC
    IM OUTTA YR LOOP
    FOUND YR CHAR
  IF U SAY SO

  HOW DUZ I UPPER CHAR
    I HAS A I ITZ 0
    IM IN YR LOOP UPPIN YR I TIL BOTH SAEM I AN LEN OF UPP
      BOTH SAEM LOW!I AN CHAR, O RLY?
        YA RLY
          FOUND YR UPP!I
      OIC
    IM OUTTA YR LOOP
    FOUND YR CHAR
  IF U SAY SO

  HOW DUZ I ISLOWER CHAR
    I HAS A I ITZ 0
    IM IN YR LOOP UPPIN YR I TIL BOTH SAEM I AN LEN OF UPP
      BOTH SAEM LOW!I AN CHAR, O RLY?
        YA RLY
          FOUND YR WIN
      OIC
    IM OUTTA YR LOOP
    FOUND YR FAIL
  IF U SAY SO


  I HAS A TEXT
  GIMMEH TEXT
  I HAS A CAMELCASE ITZ ""
  I HAS A I ITZ 0
  I HAS A SPACE ITZ WIN
  IM IN YR LOOP UPPIN YR I TIL BOTH SAEM I AN LEN OF TEXT
    I HAS A CHAR ITZ LOWER TEXT!I
    ISLOWER CHAR, O RLY?
      YA RLY
        BTW this is a letter (already lowercase), modify depending on SPACE
        SPACE, O RLY?
          YA RLY
            CHAR R UPPER CHAR
        OIC
        CAMELCASE R SMOOSH CAMELCASE CHAR
        SPACE R FAIL
      NO WAI
        BTW this is space - mark it
        SPACE R WIN
    OIC
  IM OUTTA YR LOOP
  VISIBLE CAMELCASE
KTHXBYE

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам