Вы не уважаете логику

Вдохновленный Hosch250 , TopinFrassi , Legato и недавняя веха в том, что наш 100-й вопрос о просмотре кода Я решил добавить ArnoldC FizzBuzz в коллекцию.

Я не нашел передовой практики в отношении языка, но я предполагаю, что код должен быть VERBOSE. Для тех, кто незнаком с языком, небольшая выдержка из ключевых слов:

True              NO PROBLEMO
ModuloOperator    I LET HIM GO
DeclareInt        HEY CHRISTMAS TREE
AssignVariable    GET TO THE CHOPPER

Сам вызов не требует введения. Напишите все числа от 1 до 100 и включая 100, но:

  • Напишите Fizz вместо числа, когда делится на 3
  • Напишите Buzz вместо числа, когда делится на 5
  • Напишите FizzBuzz вместо числа, когда делится на 15
 LISTEN TO ME VERY CAREFULLY modulo
  I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE dividend
  I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE divisor
  GIVE THESE PEOPLE AIR
    HEY CHRISTMAS TREE quotient
      YOU SET US UP 0
    HEY CHRISTMAS TREE remainder
      YOU SET US UP 0
    HEY CHRISTMAS TREE product
      YOU SET US UP 0
    GET TO THE CHOPPER quotient
      HERE IS MY INVITATION dividend
      HE HAD TO SPLIT divisor
    ENOUGH TALK
    GET TO THE CHOPPER product
      HERE IS MY INVITATION divisor
      YOU'RE FIRED quotient
    ENOUGH TALK
    GET TO THE CHOPPER remainder
      HERE IS MY INVITATION dividend
    GET DOWN product
  ENOUGH TALK
  I'LL BE BACK remainder
HASTA LA VISTA, BABY

LISTEN TO ME VERY CAREFULLY divisible
  I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE dividend
  I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE divisor
  GIVE THESE PEOPLE AIR
    HEY CHRISTMAS TREE result
    YOU SET US UP 0
    GET YOUR ASS TO MARS result
    DO IT NOW modulo dividend divisor

    HEY CHRISTMAS TREE isZero
    YOU SET US UP 0
    GET TO THE CHOPPER isZero
    HERE IS MY INVITATION result
    YOU ARE NOT YOU YOU ARE ME 0
  ENOUGH TALK

  I'LL BE BACK isZero
HASTA LA VISTA, BABY

IT'S SHOWTIME
    HEY CHRISTMAS TREE maxValue
    YOU SET US UP @NO PROBLEMO
    HEY CHRISTMAS TREE n
    YOU SET US UP 0
    HEY CHRISTMAS TREE divisible
    YOU SET US UP @NO PROBLEMO
    HEY CHRISTMAS TREE multiple
    YOU SET US UP @NO PROBLEMO

    STICK AROUND maxValue
        GET TO THE CHOPPER n
        HERE IS MY INVITATION n
            GET UP 1
        ENOUGH TALK
        GET TO THE CHOPPER maxValue
            HERE IS MY INVITATION 100
            LET OFF SOME STEAM BENNET n
        ENOUGH TALK

        GET YOUR ASS TO MARS multiple
        DO IT NOW divisible n 15
            BECAUSE I'M GOING TO SAY PLEASE multiple
            TALK TO THE HAND "FizzBuzz"
            BULLSHIT
            GET YOUR ASS TO MARS multiple
            DO IT NOW divisible n 5
                BECAUSE I'M GOING TO SAY PLEASE multiple
                TALK TO THE HAND "Buzz"
                BULLSHIT
                GET YOUR ASS TO MARS multiple
                DO IT NOW divisible n 3
                    BECAUSE I'M GOING TO SAY PLEASE multiple
                    TALK TO THE HAND "Fizz"   
                BULLSHIT
                    TALK TO THE HAND n
                YOU HAVE NO RESPECT FOR LOGIC
            YOU HAVE NO RESPECT FOR LOGIC
        YOU HAVE NO RESPECT FOR LOGIC
    CHILL
YOU HAVE BEEN TERMINATED
34 голоса | спросил Mast 4 FriEurope/Moscow2015-12-04T05:36:47+03:00Europe/Moscow12bEurope/MoscowFri, 04 Dec 2015 05:36:47 +0300 2015, 05:36:47

1 ответ


16

В неправильном /непоследовательном отступе есть:

HEY CHRISTMAS TREE result
YOU SET US UP 0

и

HEY CHRISTMAS TREE isZero
YOU SET US UP 0

В вики ArnoldC) говорится, что вы должны объявить 0 и 1 как «макросы» @I LIED и @NO PROBLEMO

HEY CHRISTMAS TREE isZero
    YOU SET US UP @I LIED

В вашем методе divisible конец инструкции метода не находится в том же отступе, что и декларация начала.


Отступ в этих двух блоках - два против четырех:

IT'S SHOWTIME
    HEY CHRISTMAS TREE maxValue

и

LISTEN TO ME VERY CAREFULLY divisible
  I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE dividend

Вы должны придерживаться одного последовательно.


IT'S SHOWTIME
    HEY CHRISTMAS TREE maxValue
    YOU SET US UP @NO PROBLEMO

Мы идем! Использование макросов!

О, подождите ...

HEY CHRISTMAS TREE n
YOU SET US UP 0

Ничего ...


И снова ...

    HERE IS MY INVITATION n
        GET UP 1
ответил Quill 14 MonEurope/Moscow2015-12-14T15:31:14+03:00Europe/Moscow12bEurope/MoscowMon, 14 Dec 2015 15:31:14 +0300 2015, 15:31:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132