Witajcie!
Każdy na pewno wie, że da się zarządzać plikami YAML za pomocą WildSkript.
Jednak wielu ludzi nie wie, że można to zrobić w SkQuery.
Poradnik ten, będzie krótki, podzielę go na 2 części:
Zapisywanie i usuwanie
Odczytywanie
Zaczynamy!
ZAPISYWANIE I USUWANIE:
1) Pojedyncza wartość:
Kod wygląda tak:
set yaml value "nazwa" from file "plik.yml" to "wartosc"
Sk sam stworzy dany plik, jednak stanie się to w folderze scripts.
A co jeśli chcemy zrobić to w "plugins" ? Musimy dodać do ścieżki pliku "../" spowoduje to "przejście" o folder wyżej, czyli:
set yaml value "nazwa" from file "../../plik.yml" to "wartosc"
Powyższy kod stworzy plik "plik.yml" w folderze "plugins". Wyglądał on będzie tak:
nazwa: wartosc
Czasami potrzebujemy jednak zrobić coś w stylu:
nazwa:
nazwa1:
nazwa2: wartosc
Czyli takie "drzewko". Wtedy dodajemy "." pomiędzy nazwami czyli:
set yaml value "nazwa.nazwa1.nazwa2" from file "../../plik.yml" to "wartosc"
Aby usunąć:
delete yaml value "wartosc" from file "plik.yml"
2) Lista:
Kod do stworzenia listy:
add "wartosc1" to yaml list "nazwalisty" from file "../../plik.yml"
Stworzy to nam takie coś:
nazwalisty:
- wartosc1
Jeśli chcemy dodać klika wartości po prostu robimy to samo, tylko zmieniamy wartość.
Więc kod:
add "wartosc1" to yaml list "nazwalisty" from file "../../plik.yml"
add "wartosc2" to yaml list "nazwalisty" from file "../../plik.yml"
add "wartosc3" to yaml list "nazwalisty" from file "../../plik.yml"
add "wartosc4" to yaml list "nazwalisty" from file "../../plik.yml"
Stworzy nam:
nazwalisty:
- wartosc1
- wartosc2
- wartosc3
- wartosc4
Oczywiście jeśli chcemy zrobić "drzewko", tak samo jak na początku, dodajemy ",".
Aby usunąć:
remove "wartosc" from yaml list "lista" from file "plik.yml"
ODCZYTYWANIE:
1) Pojedyncza wartość:
Odczytujemy to kodem:
set {zmienna} to yaml value "nazwa" from file "../../plik.yml"
Zmienną tą możemy potem dowolnie użyć:
send "%{zmienna}%"
Możemy używać też bez zmiennych:
send "%yaml value ""nazwa"" from file ""../../plik.yml""%"
2) Lista:
Listy odczytujemy kodem:
set {lista::*} to yaml list "nazwalisty" from file "../../plik.yml"
Również listy możemy użyć bez zmiennych:
send "%yaml list ""nazwalisty"" from file ""../../plik.yml""%"
To już koniec.
Mam nadzieję, że komuś się to przyda.
2016-05-19 - Dodano usuwanie.