Artykuł Spinning ze Spintax
Spinanie artykułów to technika optymalizacji pod kątem wyszukiwarek, dzięki której optymalizatorzy wyszukiwarek publikują unikalną wersję odpowiednich treści w katalogach artykułów, witrynach Web 2.0 lub innych źródłach linków zwrotnych.
Czasami są używane przez autorów stron na ich własnych stronach, ale zwykle unika się ich, ponieważ jakość wirowanych treści będzie niższa niż ręcznie napisanych. Przędzenie polega na przepisaniu istniejących artykułów lub części artykułów i zastąpieniu określonych słów, zwrotów, zdań, a nawet całych akapitów dowolną liczbą alternatywnych wersji, aby zapewnić nieco inną odmianę przy każdym obrocie.
Ten proces może być całkowicie zautomatyzowany lub przepisany ręcznie. Twoim zadaniem dzisiaj będzie stworzenie programu lub funkcji, która interpretuje ciąg znaków zawierający Spintax , składnię, za pomocą której program odczytuje różne dostępne opcje. Poniżej znajduje się przykładowy ciąg wykorzystujący Spintax:
{Hello|Hi there|Bonjour}, user! {What's up?|How are you?|Feeling alright?|I caught a fish!}
Jak widać, sekcje ciągu, które mają być „wirowane”, są zamknięte w nawiasy klamrowe, w których poszczególne opcje są podzielone przez |znak. Oto kilka przykładowych zdań, które mogą się pojawić.
Hi there, user! What's up?
Hello, user! How are you?
Bonjour, user! Feeling alright?
Hello, user! What's up?
Hi there, user! I caught a fish!
Twoja praca
Twoim zadaniem, jeśli zdecydujesz się to zaakceptować, jest stworzenie programu lub funkcji, która pobierze ciąg wejściowy, który może zawierać Spintax , ale może go nie wydrukować , a następnie wydrukuje 5 wersji ciągu, losowo wybierając jedną z opcji z każdego bloku opcji. Możesz poczynić kilka założeń:
- Nie będziesz musiał obsługiwać zagnieżdżonej Spintax (
{This|is {an|one}|example}). - Te
|,{oraz}znaków nie wystąpią inne niż gdziekolwiek indziej w bloku Spintax. - Nie musisz sprawdzać, czy 5 zdań wyjściowych jest odrębnych, o ile kod wybiera opcje za pomocą funkcji liczb losowych w Twoim języku.
- Możesz założyć, że dane wejściowe kończą się nową linią.
Zasady
Testy
1. {A|The|One} {quick|magnificent|charming|lucky|fast|super|cool} {gold|tan|yellow|white|brown|silver} {beaver|packrat|cat|lion|tiger|fox|dog|wolf} {consumed|ate|pilfered} my {pastry|strudel|cake}.
-------------------------------------------
One cool brown wolf consumed my pastry.
...(3 more here)...
The charming yellow beaver ate my cake.
-------------------------------------------
2. This sentence is valid, and happens to have no Spintax!
-------------------------------------------
This sentence is valid, and happens to have no Spintax!
...(3 more here)...
This sentence is valid, and happens to have no Spintax!
-------------------------------------------
3. {beg|get|ton|sun|bun|can|top|big}{2|3|4|5}{A|B|C|D|E|F|G}{2|3|4|5|6|7}{at|as|be|ex|hi|}{!|#|%}
-------------------------------------------
top2F2hi%
...(3 more here)...
big3E4ex#
Czwarty test można znaleźć tutaj.
To jest golf golfowy , więc wygrywa najmniejsza liczba bajtów.
{, |, }zostanie znaleziona w ciągu wejściowego jest tam, gdzie jest Spintax.