Przejdź do zawartości

Dyskusja modułu:Rozmieniarka

Treść strony nie jest dostępna w innych językach.
Dodaj temat
Z Wikibooks, biblioteki wolnych podręczników.
Najnowszy komentarz napisał(a) 1 rok temu Persino w wątku Dostosowanie modułu do InputBoxu

Dostosowanie modułu do InputBoxu

[edytuj]

To już wydaje mi się bardziej wyrafinowaną częścią tego rozdziału z podręcznika. Czy dobrze mi się wydaje, że powinienem zrobić takie coś w kodzie?

local amount = frame.args[1]
local limits = {
  [500]    =  frame.args[2], -- limit dla nominału 500 zł
  [200]    =  frame.args[3], -- limit dla nominału 200 zł
  [100]    =  frame.args[4], -- limit dla nominału 100 zł

   [50]    =  frame.args[5], -- limit dla nominału 50 zł
   [20]    =  frame.args[6], -- limit dla nominału 20 zł
   [10]    =  frame.args[7], -- limit dla nominału 10 zł

    [5]    =  frame.args[8], -- limit dla nominału 5 zł
    [2]    =  frame.args[9], -- limit dla nominału 2 zł
    [1]    = frame.args[10], -- limit dla nominału 1 zł

    [0.5]  = frame.args[11], -- limit dla nominału 50 gr
    [0.2]  = frame.args[12], -- limit dla nominału 20 gr
    [0.1]  = frame.args[13], -- limit dla nominału 10 gr

    [0.05] = frame.args[14], -- limit dla nominału 5 gr
    [0.02] = frame.args[15], -- limit dla nominału 2 gr
    [0.01] = frame.args[16], -- limit dla nominału 1 gr
}

Wygląda to dość groteskowo i nie wiem czy da się to jakoś uprościć. Superjurek (dyskusja) 22:52, 30 cze 2023 (CEST)Odpowiedz

  • @Superjurek: Nie ma takiej funkcji: print w Lua w Scribunto... A jeżeli chcesz zwrócić jakąś wartość, to użyj return. Scribunto służy do statycznych obliczeń. Chyba, że użyjesz JavaScript, wtedy możesz zmusić Lua, do robienia czynności, co ten język za pomocą swojego kodu zapragnie. Persino (dyskusja) 12:46, 1 lip 2023 (CEST)Odpowiedz
    @Persino Czy w ten sposób dodany kod będzie funkcjonalny? Superjurek (dyskusja) 13:42, 1 lip 2023 (CEST)Odpowiedz
    @Superjurek: Oczywiście, ten kod możesz wykonać za pomocą gadżetu (wywołując funkcję (new mw.Api()).get(params).done(function(){})), który napiszesz. A jak to zrobisz, to poproś administratora interfejsu o jego uwzględnienie w przestrzeni MediaWiki, a ja przedtem mogę ten kod przetestować, czy dobrze działa. Persino (dyskusja) 13:49, 1 lip 2023 (CEST)Odpowiedz