SEO -Title: Wartość dowolna (any) w Verse Description: Wartość dowolna (any) jest nadtypem wszystkich typów, co oznacza, że jakiekolwiek zachowanie zdefiniowane dla tego typu jest również zdefiniowane dla wszystkich podtypów any. SEO-Description: Wartość dowolna (any) jest nadtypem wszystkich typów, co oznacza, że jakiekolwiek zachowanie zdefiniowane dla tego typu jest również zdefiniowane dla wszystkich podtypów any. Parent: common-types-in-verse Type: concept Order: 6 tags: Podstawy tags: Verse Tags: any Tags: typ Hero-image:any-hero-image.png Topic-image:any-topic-image.png Social-image:any-social-image.png
W Verse występuje specjalny typ, any, który jest nadtypem wszystkich typów (wszystkie inne typy są podtypami any). Z tego powodu any obsługuje bardzo niewiele operacji, ponieważ wszystkie inne typy muszą być w stanie zapewnić tę samą funkcjonalność, którą zapewnia any.
Na przykład, jeśli any miałby definiować operację porównania (czego nie robi), to wszystkie inne typy również musiałyby definiować operację porównania (czego nie robią).
Niewiele można zrobić z typem any. Dobrze jest znać ten typ, ponieważ może pojawić się podczas pisania kodu, który generuje błąd.
Istnieją jednak sposoby na wykorzystanie any:
Letters := enum:
A
B
C
letter := class:
Value : char
Main(Arg : int) : void =
X := if (Arg > 0)
Letters.A
else
letter{Value := 'D'}
W powyższym przykładzie kodu, X otrzymuje typ any, ponieważ jest to najniższy nadtyp zarówno Letters jak i letter.
Co więcej, any może być użyty jako typ dla parametru funkcji, która jest ignorowana (ale może być wymagana jako argument dla metody zaimplementowanego interfejsu).
Na przykład:
FirstInt(X:int, :any) : int = X
Drugi argument do FirstInt jest ignorowany i może być typu any, więc otrzymuje typ any. FirstInt może być bardziej ogólnie napisane przy użyciu typów parametru. Na przykład:
First(X:t, :any where t:type) : t = X