Narzędzia użytkownika

Narzędzia witryny


pakietassert

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pakietassert [2015/07/01 15:16]
t.zoltak [Funkcje weryfikujące związane ze środowiskiem ('enviroment')]
pakietassert [2015/07/01 15:33] (aktualna)
t.zoltak [Przewodnik po funkcjach pakietu assertive]
Linia 1: Linia 1:
 ======Przewodnik po funkcjach pakietu assertive====== ======Przewodnik po funkcjach pakietu assertive======
  
 +Warto zapoznać się z winietkami od pakietu, autorstwa Richarda Cottona:
 +
 +  * [[http://​cran.at.r-project.org/​web/​packages/​assertive/​vignettes/​introduction.html|Introduction]].
 +  * [[http://​cran.at.r-project.org/​web/​packages/​assertive/​vignettes/​checking_function_inputs.html|Checking function inputs]].
 +  * [[http://​cran.at.r-project.org/​web/​packages/​assertive/​vignettes/​checklists.html|Checklists of checks]]
 =====Typy funkcji===== =====Typy funkcji=====
  
Linia 76: Linia 81:
  
 Jeśli to czytasz, zapoznaj się z funkcją **is_if_conditon()**! Jeśli to czytasz, zapoznaj się z funkcją **is_if_conditon()**!
 +
 +**Uwaga:** Wszystkim opisanym poniżej funkcjom, z wyjątkiem [assert_]is_if_condition(),​ nie przeszkadza,​ jeśli obiekty zawierają pojedynczy brak danych (NA, lub wartości o podobnym znaczeniu: NaN, Inf, -Inf). Jeśli takiego przypadku nie dopuszczamy,​ należy go oddzielnie obsłużyć.
  
 ^//​dopełnienie// ​    ^ is, are ^ assert_is ^ assert_all_are ^ assert_any_are | ^//​dopełnienie// ​    ^ is, are ^ assert_is ^ assert_all_are ^ assert_any_are |
Linia 256: Linia 263:
 |_period_for_decimal_point | ::: | ::: | ::: | ::: | |_period_for_decimal_point | ::: | ::: | ::: | ::: |
 =====Funkcje weryfikujące związane z typem i możliwościami systemu===== =====Funkcje weryfikujące związane z typem i możliwościami systemu=====
-=====Inne funkcje===== 
-=====Argumenty,​ które powinny być jednoelementowe===== 
- 
-**Uwaga:** Wszystkim opisanym poniżej funkcjom nie przeszkadza,​ jeśli obiekty zawierają pojedynczy brak danych (NA, lub wartości o podobnym znaczeniu: NaN, Inf, -Inf). Jeśli takiego przypadku nie dopuszczamy,​ należy go oddzielnie obsłużyć. 
- 
-  * **use_first()**:​ 
-    * Funkcja zwraca pierwszy element obiektu, a jeśli miał ich więcej, dodatkowo pluje ostrzeżeniem. 
-    * Uwagi: 
-      * **Jeśli przekazywany obiekt jest listą**, to zostanie zwrócony jej pierwszy element, czym by nie był. Także o wyświetleniu lub nie ostrzeżenia decyduje długość samej listy (a nie struktura jej elementów). 
-  * **is_scalar()**:​ 
-    * Sprawdza, czy obiekt jest skalarem (tj. długości jeden). 
-  * Funkcje **[assert_]is_a[n]_[...]**:​ 
-    * Funkcje testują, czy obiekt jest danego typu i **jednocześnie** jest skalarem (tj. długości jeden). 
-    * Funkcje '​is_a_[...]'​ zwracają, czy warunki są spełnione. 
-    * Funkcje '​assert_is_a_[...]'​ zwracają błędy, jeśli warunki nie są spełnione. 
-    * Typy, które można testować obejmują: 
-      * [assert_]is_a_bool - typ //​logical//​. 
-      * [assert_]is_an_empty_string - pusty ciąg znaków (''​). 
-      * [assert_]is_a_complex - typ //complex// (np. //1i//). 
-      * [assert_]is_an_integer - typ //​integer//​. 
-      * [assert_]is_a_non_empty_string - niepusty ciąg znaków 
-      * [assert_]is_a_number - typ //numeric// (//​integer//​ lub //​double//​). 
-      * [assert_]is_a_raw - typ //raw// (takie dziwne coś, p. //?raw//). 
-      * [assert_]is_a_string - ciąg znaków. 
- 
-====Testowanie złożonych typów==== 
- 
-====Testowanie możliwości środowiska==== 
  
   * Funkcje **[assert_]r_has_[...]_capabilities**.   * Funkcje **[assert_]r_has_[...]_capabilities**.
Linia 298: Linia 277:
     * [assert_]is_unix();​     * [assert_]is_unix();​
     * [assert_]is_windows();​     * [assert_]is_windows();​
 +=====Inne funkcje=====
 +
 +  * **use_first()**:​
 +    * Funkcja zwraca pierwszy element obiektu, a jeśli miał ich więcej, dodatkowo pluje ostrzeżeniem.
 +    * Uwagi:
 +      * **Jeśli przekazywany obiekt jest listą**, to zostanie zwrócony jej pierwszy element, czym by nie był. Także o wyświetleniu lub nie ostrzeżenia decyduje długość samej listy (a nie struktura jej elementów).
 +  * **DIM()**:
 +    * Funkcja zwraca liczbę wymiarów lub długość (jeśli obiekt nie ma wymiarów).
 +  * **n_elements()**:​
 +    * Funkcja zwraca liczbę „atomowych” elementów obiektu (np. w przypadku macierzy - liczba komórek, w przypadku listy - długość wektora powstającego przez wywołanie na liście unlist()).
 +  * **coerce_to()**:​
 +    * Funkcja przeprowadza rzutowanie typów (w sposób nieco bardziej bezpieczny niż funkcje rodziny as.[...]).
 +
 +
pakietassert.1435756592.txt.gz · ostatnio zmienione: 2015/07/01 15:16 przez t.zoltak