![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Hej,
w ostatnim projekcie potrzebowałem kodu, który odmieniałby słowa przez przypadki według liczby, czyli np.
Tworzenie tej funkcji było dobrą zabawą i wymagało analizy jak zmieniają się przypadki w zależności od kontekstu. Odkryłem, że mianownik, biernik i wołacz przy niektórych liczbach zmieniają się w dopełniacz. Pozostałe przypadki nie zmieniają się wcale. A oto owoc mojej rozkminy:
I przykład użycia:
Obiekt słowa zawiera wszystkie przypadki, więc można się dowolnie bawić kontekstem i liczbą. Można też wzbogacić funkcję o opcję automatycznego wyświetlania liczby przed słowem, żeby się nie powtarzać. Podoba Wam się? ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Bardzo ciekawe
![]() Nie spodziewałem się, że da się coś takiego napisać w tak krótkim kodzie. Nie ma żadnych wyjątków od tych reguł? Ahhh, już rozumiem. Obiekt dog trzeba podać, myślałem że funkcja go potrafi obliczyć na podstawie słowa "pies". Mimo wszystko przydatne ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 10.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
Publikuję wersję skróconą, która wystarcza w większości przypadków. Można ją używać dla mianownika, biernika i wołacza (do pozostałych przypadków wystarczy rozróżniać tylko liczbę pojedynczą i mnogą):
Użycie:
Ten post edytował mmaaciek 10.08.2016, 15:40:28 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.04.2025 - 05:41 |