Programowanie (PHP, Java...)

Tablica z ochroną typów

13 grudnia, 2005 o 22:09:47 Dodaj komentarz Poziom: 0 Permalink

Jedną z rzeczy brakujących mi w PHP(tutaj zresztą(niestety) podobnie jest z pythonem) jest bezpieczeństwo typów.

Jeszcze da się wytrzymać sprawdzanie przez np. is_string, ale is_array niewiele mówi. Trzeba by coś takiego zrobić:

  1. class A {
  2.         function B($x) {
  3.                 foreach($x as $y) {
  4.                         if($y instanceof A) {
  5.                                 throw new SomeException();
  6.                         }
  7.                 }
  8.                 return 1;
  9.         }
  10. }
Dla przykładu w Javie:
  1. class A {
  2.         public int B(A[] x) {
  3.                 return 1;
  4.         }
  5. }
W C++ jest podobnie, w C(chodzi o GObject z -Wall -Werror :) ) raczej nie zajmie nam to tyle miejsca[1](a nawet jeśli to jest to znacznie czytleniejsze)

Piszę teraz klasę do obsługi takich tablic, ale jeśli byłaby już taka napisana, to oszczędziłoby mi to wiele pisania, debugowania i wynajdywania kwadratowego koła

[1] Chodzi o sprawdzanie typów. Sam taki kod jest obszerniejszy, ale (moim zdanie) bardziej jawny :)

Komentarze do wpisu

Możesz śledzić odpowiedzi poprzez kanał RSS. Możesz dodać komentarz lub zostawić ślad (trackback) ze swojego bloga.

Jeszcze nie ma żadnych komentarzy. Twój może być pierwszy.

Dodaj komentarz

Textile Lite włączony ( szczegółowy opis znaczników ):