Дерев’яні слова, бляшані слова


35

Примітка. У цьому питанні є кілька грубих слів.

У цьому класичному ескізі Monty Python є неявна головоломка ( сценарій ви також можете підготувати в Інтернеті).

Різні фрази описуються як "деревні" або "бляшані", а одна - як "ПВХ".

Давши фразу, відповідайте її типу відповідно до таких списків:

woody:

gone
sausage
seemly
prodding
vacuum
bound
vole
caribou
intercourse
pert
thighs
botty
erogenous zone
ocelot
wasp
yowling

tinny:

litter bin
newspaper
antelope
recidivist
tit
simpkins

PVC:

leap

Правила

  • Якщо вхід належить до одного з вищезазначених списків, вихід повинен бути woody, tinnyабо PVC, відповідно.
  • Весь вхід є малим регістром.
  • Будь-яка поведінка прийнятна для фраз, які не перераховані вище.
  • Виграє найменше байтів у відповіді.

@AJFaraday Я рекомендую провести деякий час на сайті та відповісти на деякі запитання, перш ніж братися за складне завдання щодо написання викликів. Коли ви відчуваєте готовність, використовуйте пісочницю , принаймні, для своїх перших кількох викликів і для нетривіальних проблем.
Адам

27
Мені ця рекомендація зовсім не подобається! Продовжуйте публікувати виклики, навіть якщо вам не подобається відповідати. Звичайно, приємно подивитися на інші проблеми, щоб відчути сайт, і я рекомендую також пісочницю, але будь ласка, продовжуйте писати проблеми! :)
Стюі Гріффін

5
Отже, ми повинні застосувати логіку до ескізу Monty Python? ... чудово!
BruceWayne

@BruceWayne це саме те, що ми робимо.
AJFaraday

You may choose how to deal (or ignore) with casing in input and output.Для уточнення, чи означає це, що ми можемо очікувати, що вхід буде у великому регістрі?
Οurous

Відповіді:


4

Стакс , 30 25 байт

ï═H♣║GÇX→ΩM+@╢^j╬♪►╨╝ô╤c\

Запустіть і налагоджуйте його

Коментоване представлення ascii це таке. Я не винайшов цей алгоритм. Це безсоромно зірвано з пітона рішення Джонатана Аллена .

9@                  10th character, modularly indexed
`#!z"pi0$L+%v9`X    store "tinny pvc woody" in the x register
3(                  keep only the first 3 characters ("tin")
#                   how many times the 10th char occurs in tin? (a)
y.eaI               index of "ea" in the input or -1 (b)
+                   a + b (one of -1, 0, or 1)
xj@                 modularly indexed word in x

Виконати цей


Ця відповідь гарна, але компресор струнного буквела є помилковим, іноді він дає результат із 5 символів (якщо ви включите `, 7) для довгих 4-символьних рядків.
Вейджун Чжоу

Стиснення не завжди гарантує менший результат. Просто для англійських струн. Це не помилка. Якщо у вас є випадок, коли подвійний цитуваний рядок менший, просто використовуйте його замість цього.
рекурсивна

Я думав, що це як Jelly, яке завжди знаходить найкоротше представлення (можливо, опис слід переробити тоді?)
Weijun Zhou

Не звертай уваги. Я думаю, що приказка can help youтрохи заплутана, але логічно нормально.
Вейджун Чжоу

Гм, так, формулювання є на зразок оманливим.
рекурсивна

35

Python 2 , 99 73 65 64 63 байт

lambda s:'PVC'*('ea'in s)or'wtoiondnyy'[s[-2:]in'instperit'::2]

Спробуйте в Інтернеті!

Альтернативи також з 63 байтами:

lambda s:'PVC'*('ea'in s)or'wtoiondnyy'[s[-6::5]in'dtenmsr'::2]
lambda s:'PVC'*('ea'in s)or'wtoiondnyy'[s[::5]in'lrinaosit'::2]

23
Запропоновано через використання python для вирішення проблеми monty python.
Brain Guider

10
@AnderBiguri, будь ласка, голосуйте на основі самого рішення, а не на використаній мові.
Shaggy

24
@Shaggy AFAIK вибір мови є однією з цікавих частин PPCG! Мені подобається рішення, тому що його в python . У нас уже є байти, щоб побачити, хто з них "перемагає"
Brain Guider

2
Так, голоси в кодегольфі повинні бути лише за підхід, який вважається найкращим або найкреативнішим, оскільки переможець визначається інакше. Також було б нудно, якби кожен просто використовував спеціальні мови кодового гольфу, а не займатися творчістю з більш поширеними
Gimli

5
Я згоден, може бути багато причин, щоб сподобатися певній відповіді. Але навіть якщо люди так схвильовані каламбуром "Python for Monty Python", все одно сумно бачити, що учасники змагань не намагаються трохи прокрутити вниз, і виявляють подяку іншому Python відповідь яка насправді є більш нетрадиційною і навіть tad коротше ...
Кирило Л.

15

Python 2 , 62 байти

lambda n:'wtPoiVonCdn yy'[hash(n)%97%78%28%15%2+('ea'in n)::3]

Спробуйте в Інтернеті!

Як?

У цьому поданні використовується той факт, що hashфункція є стабільною для рядків на Python 2. Кожен дійсний вхід має дійсний вихід. Повторне вимушене повторення модуля %97%78%28%15%2повертається 1за всі тині і ПВХ слів і 0для деревних слів. Додаючи до нього значення ('ea' in n), отримуємо 2замість 1вхідного «стрибка». Ось таблиця всіх значень:

+----------------+----------------------+----------------+-------------+-------+
| word           | hash                 | %97%78%28%15%2 | +('ea'in n) | type  |
+----------------+----------------------+----------------+-------------+-------+
| leap           | 5971033325577305778  | 1              | 2           | PVC   |
+----------------+----------------------+----------------+-------------+-------+
| litter bin     | 2393495108601941061  | 1              | 1           | tinny |
| newspaper      | 1961680444266253688  | 1              | 1           | tinny |
| antelope       | -2930683648135325182 | 1              | 1           | tinny |
| recidivist     | -1480015990384891890 | 1              | 1           | tinny |
| tit            | -1495230934635649112 | 1              | 1           | tinny |
| simpkins       | 672871834662484926   | 1              | 1           | tinny |
+----------------+----------------------+----------------+-------------+-------+
| gone           | 3644900746337488769  | 0              | 0           | woody |
| sausage        | 4880706293475915938  | 0              | 0           | woody |
| seemly         | -8112698809316686755 | 0              | 0           | woody |
| prodding       | 7325980211772477495  | 0              | 0           | woody |
| vacuum         | -5283515051184812457 | 0              | 0           | woody |
| bound          | -6522768127315073267 | 0              | 0           | woody |
| vole           | -7823607590901614336 | 0              | 0           | woody |
| caribou        | -3644594841083815940 | 0              | 0           | woody |
| intercourse    | 2499732157679168166  | 0              | 0           | woody |
| pert           | 4142553773863848247  | 0              | 0           | woody |
| thighs         | -3490317966011085195 | 0              | 0           | woody |
| botty          | -6522767127163072681 | 0              | 0           | woody |
| erogenous zone | 7046120593231489339  | 0              | 0           | woody |
| ocelot         | -6961879712146820842 | 0              | 0           | woody |
| wasp           | -3668927459619339511 | 0              | 0           | woody |
| yowling        | 6823632481520320220  | 0              | 0           | woody |
+----------------+----------------------+----------------+-------------+-------+

Тип для повернення тепер витягується з рядка 'wtPoiVonCdn yy', приймаючи кожен третій символ, починаючи з обчисленого індексу.


10

JavaScript (ES6), Chrome / Edge, 54 байти

Оскільки поведінка parseInt()великих входів з коефіцієнтом 36 є залежним від впровадження , це не працює зі SpiderMonkey (Firefox).

s=>[,'PVC',,'Tinny'][parseInt(s+383,36)%69%7]||'Woody'

Спробуйте в Інтернеті!

Як?

Хеш-функція повертає 3 для слів Тінні, 1 для ПВХ та 0 , 4 , 5 або 6 для слів Вуді. Слова, позначені зірочкою, неявно усічені, оскільки пробіл parseInt () вважається недійсним символом .

word           | +383           | base 36 -> decimal    | mod 69 | mod 7
---------------+----------------+-----------------------+--------+------
gone           | gone383        |           36318994131 |   54   |   5
sausage        | sausage383     |      2874302392811475 |   42   |   0
seemly         | seemly383      |        80120017777107 |    6   |   6
prodding       | prodding383    |     94214834629477200 |   12   |   5
vacuum         | vacuum383      |        88266035564499 |   60   |   4
bound          | bound383       |          916101808275 |    6   |   6
vole           | vole383        |           68967369939 |   39   |   4
caribou        | caribou383     |      1249086300450771 |   63   |   0
intercourse    | intercourse383 | 3.183324871563264e+21 |   11   |   4
pert           | pert383        |           55312791699 |   21   |   0
thighs         | thighs383      |        83184557510739 |    6   |   6
botty          | botty383       |          916052399571 |   63   |   0
erogenous zone | erogenous (*)  |        41664605989780 |    7   |   0
ocelot         | ocelot383      |        68678794158483 |   39   |   4
wasp           | wasp383        |           70309896339 |   63   |   0
yowling        | yowling383     |      3523299657958227 |   39   |   4
---------------+----------------+-----------------------+--------+------
litter bin     | litter (*)     |            1301413923 |   24   |   3
newspaper      | newspaper383   |   3081816298632183000 |    3   |   3
antelope       | antelope383    |     38980419895881940 |   24   |   3
recidivist     | recidivist383  | 129824740122576960000 |    3   |   3
tit            | tit383         |            1785109395 |   45   |   3
simpkins       | simpkins383    |    104264583727840850 |   24   |   3
---------------+----------------+-----------------------+--------+------
leap           | leap383        |           46576922259 |   57   |   1

Попередня версія, 59 57 байт

s=>['Woody','Tinny','PVC'][82178>>parseInt(s,35)%50%26&3]

Спробуйте в Інтернеті!

Як?

Нижче наведено різні кроки функції для кожного входу. Результат першого модуля - наближення в межах точності чисел JS і математично недійсний для статевого акту .

input          | base-35 -> dec.   | %50 | %26 | 00000000010100000100000010
---------------+-------------------+-----+-----+---------------------------
gone           |            716219 |  19 |  19 |      00------------------>
sausage        |       52042888324 |  24 |  24 | 00----------------------->
seemly         |        1492249219 |  19 |  19 |      00------------------>
prodding       |     1659396207121 |  21 |  21 |    00-------------------->
vacuum         |        1643736697 |  47 |  21 |    00-------------------->
bound          |          17573443 |  43 |  17 |        00---------------->
vole           |           1359274 |  24 |  24 | 00----------------------->
caribou        |       22625709220 |  20 |  20 |     00------------------->
intercourse    | 51532867489988450 |  48 |  22 |   00--------------------->
pert           |           1089999 |  49 |  23 |  00---------------------->
thighs         |        1549436973 |  23 |  23 |  00---------------------->
botty          |          17572449 |  49 |  23 |  00---------------------->
erogenous zone |    33308397234728 |  28 |   2 |                       00->
ocelot         |        1279159344 |  44 |  18 |       00----------------->
wasp           |           1385255 |   5 |   5 |                    00---->
yowling        |       63810499496 |  46 |  20 |     00------------------->
litter bin     |        1131250042 |  42 |  16 |         01--------------->
newspaper      |    52754217228642 |  42 |  16 |         01--------------->
antelope       |      687218151914 |  14 |  14 |           01------------->
recidivist     |  2160354371100934 |  34 |   8 |                 01------->
tit            |             36184 |  34 |   8 |                 01------->
simpkins       |     1835782971008 |   8 |   8 |                 01------->
leap           |            917900 |   0 |   0 |                         10


9

Java 8, 81 80 67 байт

s->s.charAt(2)<98?"PVC":s.matches(".*(.p.|is?t).*")?"tinny":"woody"

Регекс з відповіді на retina @MatrinEnder .

Спробуйте в Інтернеті.

Оригінальна відповідь: 81 80 байт

s->"anetisilire".contains(s.substring(0,2))?"tinny":s.charAt(2)<98?"PVC":"woody"

Спробуйте в Інтернеті.

Пояснення:

s->                  // Method with String as both parameter and return-type
  "anetisilire".contains(s.substring(0,2))?
                     //  If the first two letters of the input are present in "anetisilire"
    "tinny"          //   Output "tinny"
   :s.charAt(2)<98?  //  Else-if the third character of the input is an 'a'
    "PVC"            //   Output "PVC"
   :                 //  Else:
    "woody"          //   Output "woody"

Додаткове пояснення:

litter bin:  anetisi(li)re
newspaper:   a(ne)tisilire
antelope:    (an)etisilire
recidivist:  anetisili(re)
tit:         ane(ti)silire
simpkins:    aneti(si)lire
  1. Жоден з перших двох букв woodyслова не присутній в цьому рядку вище, так само як і leвідleap .
  2. Жодне з woodyслів не має в aякості третьої букви, так що використовується , щоб отримати leapдо , PVCякщо це неtinny слово.
  3. Все інше - це слово зі woodyсписку.

2
Це дуже здорово, коли можна прочитати цей спосіб мислення, що вирішує проблеми :)
AJFaraday

6

Haskell , 61 байт

f(a:b:_)|b=='i'||elem a"ran"="tinny"|a=='l'="PVC"|1>0="woody"

Спробуйте в Інтернеті!

Використовується ця знайдена вручну логіка:

  • Слова з другою буквою iабо першою літерою r, aабоn єtinny
  • Будь-яке інше слово, що починається з l( leap), єPVC
  • Все інше є woody

Лінн врятував байт, перевіривши leapйого першу букву.


1
Приємно! Ви можете зберегти байт, виявивши за "leap"допомогою |a=='l'="PVC".
Лінн

5

QuadS , 34 32 байти

Безсоромно використовує систему Мартина Ендера , включаючи регекс від гольфіста Петра Норвіга .

⊃⍵
ea
.p.|is?t
$
PVC
tinny
woody

Спробуйте в Інтернеті!

⊃⍵ Виберіть перше виникнення

ea "ea"
.p.|is?t "p" в оточенні букв АБО "i" і "t" з необов'язковим "s" між ними
$  кінець введення

… Але підміняючи відповідність відповідним одним із наступних:

PVC
tinny
woody


Еквівалентною 43- байтною функцією APL Dyalog є:

'ea' '.p.|is?t' '$'S'PVC' 'tinny' 'woody'

Спробуйте всі справи в Інтернеті!


5

C (gcc) , 81 байт

h;f(char*s){puts(strchr("HzYfPW",h=*s^s[1]<<2&127)?"Tinny":h<120?"Woody":"PVC");}

Спробуйте в Інтернеті!

Перший порядок бізнесу полягав у пошуку деякої хеш-функції, яка поділяла б слова на їх категорії. Після деяких хитрощів я наткнувся на те (s[0] ^ (s[1] << 2)) & 0x7f, де 0x7f, звичайно, є, щоб знизити його до рівня ASCII для друку. Це дало таку інформацію (таблиці відсортовані, але не отримані рядки):

Woody:
----
erogenous zone  - 45
prodding        8 56
yowling         E 69
vole            J 74
intercourse     Q 81
thighs          T 84
gone            [ 91
botty           ^ 94
bound           ^ 94
ocelot          c 99
pert            d 100
caribou         g 103
seemly          g 103
vacuum          r 114
wasp            s 115
sausage         w 119

[wg8r^JgQdT^-csE

Tinny:
----
litter bin      H 72
tit             P 80
simpkins        W 87
antelope        Y 89
recidivist      f 102
newspaper       z 122

HzYfPW

PVC:
----
leap            x 120

x

Хеш-зіткнення не мають значення, оскільки вони відносяться до однієї категорії. Нам залишається лише перевірити, чи є отриманий хеш в рядку хешей Tinny ("HzYfPW"), оскільки хеді Вуді все нижче хешу ПВХ (120). Якщо 120 або вище, і це не слово Тіні, воно повинно бути ПВХ. Якщо це не слово Тіні, а хеш - нижче 120, то це повинно бути хорошим, деревним словом.


4

32-бітний машинний код x86, 39 байт

Hexdump:

69 01 47 6f 61 2c c7 02 50 56 43 00 3a c4 74 16
c7 02 77 6f 6f 64 85 c0 78 06 c7 02 74 69 6e 6e
66 c7 42 04 79 00 c3

Хеш-функція - це множення на "магічне" число 0x2c616f47 . Є лише 6 номерів, які можна використовувати з цим кодом.

Перш за все, це пише PVC на вихід. Це буде перезаписано, якщо потрібно.

Після хешування перевіряє слово ПВХ; чек al = ah- я вибрав його, тому що це невелика 2-байтна інструкція. Потім він пише або, woodабо tinnзалежно від ознаки хешованого результату. Потім, пише y.

Код складання:

    imul eax, [ecx], 0x2c616f47;
    mov dword ptr [edx], 'CVP';
    cmp al, ah;
    je done;
    mov dword ptr [edx], 'doow';
    test eax, eax;
    js skip;
    mov dword ptr [edx], 'nnit';
skip:
    mov word ptr [edx + 4], 'y';
done:
    ret;

4

Желе ,  27  26 байт

⁵ịe“Ṗµ»_⁼“ḣG»$ị“©LẈḊ¶$Ḍ»Ḳ¤

Монадійне посилання, що приймає та повертає списки символів.

Спробуйте в Інтернеті!

Як?

⁵ịe“Ṗµ»_⁼“ḣG»$ị“©LẈḊ¶$Ḍ»Ḳ¤ - Link: list of characters, W   e.g. "gone"  "leap"  "newspaper"
⁵                          - literal ten                  10
 ị                         - index into (1-based & modular)     'o'     'e'     'n'
   “Ṗµ»                    - compression of characters    "int"
  e                        - exists in?                          0       0       1
              $            - last two links as a monad
          “ḣG»             -   compression of characters  "leap"
         ⁼                 -   equal?                            0       1       0
        _                  - subtract                            0      -1       1
                         ¤ - nilad followed by link(s) as a nilad:
                “©LẈḊ¶$Ḍ»  -   compression of characters  "tinny PVC woody"
                         Ḳ -   split at spaces            ["tinny","PVC","woody"]
               ị           - index into (1-based & modular)     "woody" "PVC"   "tinny"


3

Брудні , 73 57 54 байти

⇖'le'⇗≐∀⭦)Ẃ'nar'⇗{=]}⭨'i'=]'woody'‼␛['tinny'‼␛('PVC'‼␛

Спробуйте в Інтернеті!

Пояснили:

Для аналогічної старішої версії (я її оновлю, коли припиняю гольфу)

␛‼'CVP'⇨⇖'leap'⇗≡⊭◌⬅Ẃ'nar'⇗{=]}1ẁ'i'=]'woody'‼␛['tinny'‼␛

Корпус цього складається з:

⇖            put the input into the left stack
 'leap'      push the string "leap"
       ⇗     put that string into the right stack
        ≡    are the left and right stacks equal
         ⊭   logically negate
          ◌  skip next instruction if true
           ⬅ change direction to leftwards

Якщо ми закінчимо ліворуч, ми маємо:

       ⇨⇖'leap'⇗≡⊭◌ does stuff to the stacks, but isn't relevant
  'CVP'              push the string "PVC" (reversed, because we're going left)
 ‼                   print the string on the main stack
␛                    exit the program (this should wrap into the other exit, but that isn't working yet)

В іншому випадку це перевіряє, чи рядок починається з будь-якого з "nar":

Ẃ           wipe the right stack
 'nar'      push the string "nar"
       ⇗    move string to right stack
        {
         =  compare the top of the left and right stacks
          ] goto matching bracket if true
        }   consuming loop while the right stack is true

Потім ми перевіряємо, чи є друга літера "i":

1        push the number 1
 ẁ       drop ^ number of elements off of the left stack
  'i'    push "i"
     =   are the top of the left and middle stacks equal
       ] goto matching bracket if true

Якщо всі вони провалюються, ми натрапляємо на них

'woody'   push the string "woody"
       ‼  print the string on the main stack
        ␛ exit the program

Якщо ми закінчилися стрибати, ми загортаємось

[          matching bracket for the goto
 'tinny'   push the string "tinny"
        ‼  print the string on the main stack
         ␛ exit the program

3

C # 97 байт

string t(string w)=>w[0]!='p'&new[]{10,9,8,3}.Contains(w.Length)?"tinny":w[0]=='l'?"pvc":"woody";

Я пішов шукати візерунок по довжині струн і виявив, що вони унікальні, за винятком довжин 4 та 8. Тому я окремо розглядаю випадки, дивлячись на перших символів. Ну добре, це ще коротше, ніж деякі відповіді. :)


1
Ви знаєте, коли Мартін Ендер знайшов просте правило для цих списків, майже кожна відповідь реалізувала те саме рішення, так чи інакше. Класно бачити оригінальний підхід. :)
AJFaraday

Дякуємо за відгук. :) Я не читав інших рішень до того, як спробувати мій .. можливо, ще є ще елегантне рішення, яке ще треба розкрити .. Я так хочу, щоб усі вони мали унікальну довжину, то це було б рішення.
lee

2
string t(string w)=>може бути справедливим w=>. Ви можете конвертувати 'p'й інших символів у їхні внутрішні уявлення, я думаю. Ви можете видалити
кінцеву напівкрапку

3

Пітон , 59 байт

lambda w:"wtPoiVonCdn yy"[(w*4)[9]in"tin"or(w[2]<"b")*2::3]

Спробуйте в Інтернеті!

Використовує індексацію у відповіді ovs's Python але більш просту та коротку функцію вибору:

Якщо десята буква слова, wз обгортанням ( (w*4)[9]- де w*4повторюється wчотири рази) є буква в слові олова ( in"tin") , то слово жерстяної , в іншому випадку , якщо третя буква ( w[2]) є ( ) , тим слово ПВХ інакше слово деревне .<'b'

... цей 59 робить ту саму роботу:

lambda w:"wtPoiVonCdn yy"[[(w*4)[9]in"tin",2][w[2]<"b"]::3]


2

Пакет, 145 байт

@set/ps=
@if %s%==leap echo PVC&exit/b
@for %%s in (a n r)do @if %s:~,1%==%%s echo tinny&exit/b
@if %s:~1,1%==i echo tinny&exit/b
@echo woody

Здійснює введення даних STDIN. Пояснення: Після перевірки leap, бляшані слова або починаються з однієї з букв a, nабо rчи їх другий лист i.


2

CJam , 35 байт

1b_856%338<\418=-"woodytinnyPVC"5/=

Спробуйте в Інтернеті!

Я повністю забув, що я розпочав грубу силу пошуку коротких виразів, щоб роздмухувати дерев’яні та бляшані струни на два класи. Я щойно знайшов вікно консолі, де пробіг пошук, і виявляється, що насправді щось знайшло ...

Пояснення

1b     e# Sum the code points of the input string.
       e# The result is unique for each input, except "pert" and "wasp" which
       e# both sum to 443. But they're both woody, so that's fine.
_      e# Duplicate.
856%   e# Take the sum modulo 856.
338<   e# Check whether the result is less than 338. That's true for all
       e# tinny words.
\      e# Swap with the other copy of the sum.
418=   e# Check whether the sum is equal to 418, which identifies "leap".
-      e# Subtract. Gives -1 for "leap", 1 for tinny words and 0 for woody words.
"woodytinnyPVC"5/
       e# Create the list ["woody" "tinny" "PVC"].
       e# Select the correct string.

1

Excel, 81 байт

=IF(ISNUMBER(FIND(LEFT(A1,2),"anetisilire")),"tinny",IF(A1="leap","PVC","woody"))

Використовуючи метод 'anetisilire'.



1

JavaScript, 60 , 50

EDIT Я бачив усі інші відповіді на регулярні виразки. Я думаю, я просто сліпий. У будь-якому випадку, ось такий, що використовує той самий регулярний вираз

i=="leap"?"PVC":/.p.|is*t/.test(i)?"tinny":"woody"

Крім того, зараз він б'є іншу відповідь JS

Фрагмент:

let test = i => i=="leap"?"PVC":/.p.|is*t/.test(i)?"tinny":"woody"

let woody = `gone
sausage
seemly
prodding
vacuum
bound
vole
caribou
intercourse
pert
thighs
botty
erogenous zone
ocelot
wasp
yowling`;
console.log("THESE SHOULD BE woody");
woody.split("\n").forEach(el => console.log(test(el)));
let tinny = `litter bin
newspaper
antelope
recidivist
tit
simpkins`;
console.log("THESE SHOULD BE tinny");
tinny.split("\n").forEach(el => console.log(test(el)));
console.log("THIS SHOULD BE PVC");
console.log(test("leap"));

Стара відповідь

Я ще не бачив регексу, тому подумав, що спробую

i=="leap"?"PVC":/[gyuz]|[or][tl]|as/.test(i)?"woody":"tinny"

Не впевнений, чи вважається це 60 чи більше, тому що я не включав заяву про повернення. Додаю фрагмент, коли я заходжу на комп’ютер

Редагувати: фрагмент

let test = i => i=="leap"?"PVC":/[gyuz]|[or][tl]|as/.test(i)?"woody":"tinny"

let woody = `gone
sausage
seemly
prodding
vacuum
bound
vole
caribou
intercourse
pert
thighs
botty
erogenous zone
ocelot
wasp
yowling`;
console.log("THESE SHOULD BE woody");
woody.split("\n").forEach(el => console.log(test(el)));
let tinny = `litter bin
newspaper
antelope
recidivist
tit
simpkins`;
console.log("THESE SHOULD BE tinny");
tinny.split("\n").forEach(el => console.log(test(el)));
console.log("THIS SHOULD BE PVC");
console.log(test("leap"));

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.