Slide 21
Slide 21 text
例
2:
同じもの違うパターンで表現している
l
e
t t
u
p
l
e
: (
A
?
, B
) = .
.
.
s
w
i
t
c
h t
u
p
l
e {
c
a
s
e (
.
S
o
m
e
(
l
e
t a
)
, l
e
t b
)
:
p
r
i
n
t
(
"
A
: \
(
a
)
, B
: \
(
b
)
"
)
c
a
s
e (
.
N
o
n
e
, l
e
t b
)
:
p
r
i
n
t
(
"
A
: n
i
l
, B
: \
(
b
)
"
)
}
s
w
i
t
c
h t
u
p
l
e {
c
a
s
e (
l
e
t a
?
, l
e
t b
)
:
p
r
i
n
t
(
"
A
: \
(
a
)
, B
: \
(
b
)
"
)
c
a
s
e (
.
N
o
n
e
, l
e
t b
)
:
p
r
i
n
t
(
"
A
: n
i
l
, B
: \
(
b
)
"
)
}
s
w
i
t
c
h t
u
p
l
e {
c
a
s
e (
l
e
t a
?
, l
e
t b
)
:
p
r
i
n
t
(
"
A
: \
(
a
)
, B
: \
(
b
)
"
)
c
a
s
e (
l
e
t a
, l
e
t b
)
:
p
r
i
n
t
(
"
A
: \
(
a
)
, B
: \
(
b
)
"
)
}