@@ -32,9 +32,9 @@ version (D_BetterC) {} else
32
32
{
33
33
import std.math.operations : isClose;
34
34
35
- struct Fahrenheit { double degrees ; }
36
- struct Celsius { double degrees ; }
37
- struct Kelvin { double degrees ; }
35
+ struct Fahrenheit { double value ; }
36
+ struct Celsius { double value ; }
37
+ struct Kelvin { double value ; }
38
38
39
39
alias Temperature = SumType! (Fahrenheit, Celsius, Kelvin);
40
40
@@ -48,29 +48,29 @@ version (D_BetterC) {} else
48
48
{
49
49
return Fahrenheit (
50
50
t.match! (
51
- (Fahrenheit f) => f.degrees ,
52
- (Celsius c) => c.degrees * 9.0 / 5 + 32 ,
53
- (Kelvin k) => k.degrees * 9.0 / 5 - 459.4
51
+ (Fahrenheit f) => f.value ,
52
+ (Celsius c) => c.value * 9.0 / 5 + 32 ,
53
+ (Kelvin k) => k.value * 9.0 / 5 - 459.4
54
54
)
55
55
);
56
56
}
57
57
58
- assert (toFahrenheit(t1).degrees .isClose(98.6 ));
59
- assert (toFahrenheit(t2).degrees .isClose(212 ));
60
- assert (toFahrenheit(t3).degrees .isClose(32 ));
58
+ assert (toFahrenheit(t1).value .isClose(98.6 ));
59
+ assert (toFahrenheit(t2).value .isClose(212 ));
60
+ assert (toFahrenheit(t3).value .isClose(32 ));
61
61
62
62
// Use ref to modify the value in place.
63
63
void freeze (ref Temperature t)
64
64
{
65
65
t.match! (
66
- (ref Fahrenheit f) => f.degrees = 32 ,
67
- (ref Celsius c) => c.degrees = 0 ,
68
- (ref Kelvin k) => k.degrees = 273
66
+ (ref Fahrenheit f) => f.value = 32 ,
67
+ (ref Celsius c) => c.value = 0 ,
68
+ (ref Kelvin k) => k.value = 273
69
69
);
70
70
}
71
71
72
72
freeze(t1);
73
- assert (toFahrenheit(t1).degrees .isClose(32 ));
73
+ assert (toFahrenheit(t1).value .isClose(32 ));
74
74
75
75
// Use a catch-all handler to give a default result.
76
76
bool isFahrenheit (Temperature t)
0 commit comments