ISO Pascal'ın bir bölümünü bulmaya çalışırken biraz kafam karıştı.ISO Pascal alan değişkenleri olmadan kayıt varyantları
gramer bunu sağlar:
type RPoint = Record
Case Boolean of
False : (X,Y,Z : Real);
True : (R,theta,phi : Real);
end;
Bunu oluşturmak için yapmanız: Case Boolean
kısmının amacı ne:
var p: RPoint;
begin
p.x := 1;
end.
anlamıyorum bir kısım var? Anladığım kadarıyla case MyVal: Boolean
; daha sonra MyVal
alan seçici olur. Ancak, alan seçici olmadığında amaç nedir, sadece bir tür?
Ek olarak, standart söyler: Her varyant-bölümü ile
varyantı kısmen sahip olduğu seçici tip belirlenmiş bir tür ilişkilendirilir. Varyant parçasının varyant seçicisi bir etiket alanı içeriyorsa veya varyant parçasının her bir varyantının listesi sadece bir kasa sabiti içeriyorsa, o zaman seçici tipi tarafından belirtilir. etiket tipi ve varyant parçanın her bir varyantı, varyantının vaka sabit listesinin kutu sabitleri ile belirtilen seçici tipiyle belirtilen değerleri ile ilişkilendirilecektir. Aksi takdirde, varyant parçasının sahip olduğu selektör tipi, 'un, varyant parçanın her varyantı için tam olarak bir değere sahip olacak şekilde oluşturulduğu yeni bir ordinal tip olacaktır ve bu tür bir varyantın her biri, ile ilişkili olacaktır. Bu türden ayrı bir değer.
Oldukça selector-type
ne anlamıyorum ve neden yeni bir ordinal-type
olacaktır. selector-type
, sadece case Boolean of
'da olduğu gibi olmaz mı? Ve sadece bir case-constant
olan her case-constant-list
bununla ne ilgisi var?
comp.lang.pascal.ansi-iso haber grubu ISO Ayrıntılar için iyi kaynak oldu ve yıl içinde bir işlem görmemiştir buna rağmen hala orada kullanıcı sohbette olabilir. Bunun dışında, konuyla ilgili Gnu Pascal (GPC) belgelerini araştırmayı deneyin. –