Slide 1

Slide 1 text

Tomoki Ota ʲGoݴޠʳ஋ͷൺֱ

Slide 2

Slide 2 text

஋ͷൺֱ͸ৗʹ==Λ࢖ͬͯ ൺֱͰ͖ΔΘ͚Ͱ͸ͳ͍

Slide 3

Slide 3 text

ൺֱͰ͖Δྫ ൺֱͰ͖ͳ͍ྫ ൺֱՄೳͳΦϖϥϯυ ൺֱෆՄೳͳܕͷൺֱ ΞδΣϯμ 3

Slide 4

Slide 4 text

ൺֱͰ͖Δྫ

Slide 5

Slide 5 text

ൺֱͰ͖Δྫ 5

Slide 6

Slide 6 text

ൺֱͰ͖ͳ͍ྫ

Slide 7

Slide 7 text

ൺֱͰ͖ͳ͍ྫ 7

Slide 8

Slide 8 text

ൺֱՄೳͳΦϖϥϯυ

Slide 9

Slide 9 text

ൺֱՄೳͳΦϖϥϯυ 9 == ͱ !=͸ɺΦϖϥϯυ͕ൺֱՄೳ(comparable)ͷͱ͖ʹ࢖༻Ͱ͖Δ

Slide 10

Slide 10 text

ൺֱՄೳͳΦϖϥϯυ 10 boolean ਺஋(੔਺ܕɺුಈখ਺ܕɺෳૉ਺ܕ) จࣈྻ νϟωϧ ΠϯλʔϑΣΠε ϙΠϯλ ߏ଄ମͱ഑ྻ

Slide 11

Slide 11 text

ൺֱՄೳͳΦϖϥϯυ 11

Slide 12

Slide 12 text

ൺֱՄೳͳΦϖϥϯυ 12 structಉ༷ɺanyܕ΋஫ҙʂ

Slide 13

Slide 13 text

ൺֱෆՄೳͳܕͷൺֱ

Slide 14

Slide 14 text

ൺֱෆՄೳͳܕͷൺֱ 14 ඪ४ϥΠϒϥϦͷre f lectΛ࢖༻͢Δ

Slide 15

Slide 15 text

ൺֱෆՄೳͳܕͷൺֱ 15 re f lect.DeepEqualؔ਺͸2ͭͷ஋Λ࠶ؼతʹḷͬͯɺ2ͭͷཁૉ͕౳͍͠ ͔൱͔Λ൑அ͢Δɻ ͜Ε͸جຊσʔλܕɺ഑ྻɺߏ଄ମɺεϥΠεɺϚοϓɺϙΠϯλɺΠϯλʔ ϑΣΠεɺؔ਺ʹ࢖༻Ͱ͖Δɻ

Slide 16

Slide 16 text

re f lect.DeepEqualͷྫ 16

Slide 17

Slide 17 text

re f lect.DeepEqualͷ஫ҙ఺ 17 nilίϨΫγϣϯͱۭίϨΫγϣϯΛ۠ผ͢Δ(ϢʔεέʔεʹΑͬͯ͸໰୊ͱͳΔɻ ྫ͑͹2ͭͷΞϯϚʔγϟϧૢ࡞ͷ݁ՌΛൺֱ͍ͨ࣌͠) ϦϑϨΫγϣϯΛ࢖͍ͬͯΔͷͰɺੑೳ্ͷϖφϧςΟ͕͋Δ ϕϯνϚʔΫͰ͸ɺ==ͷ໿100ഒ஗͍ύϑΥʔϚϯεɻຊ൪Ͱ͸࢖ͬͯ͸μϝ

Slide 18

Slide 18 text

ಠࣗͷൺֱϝιουΛ࣮૷͢Δ 18 ಠࣗͷൺֱϝιουΛ࢖༻͢Δͱɺ ύϑΥʔϚϯε໰୊͕վળ͢Δɻ ࠨͷίʔυ͸re f lect.DeepEqualͷ໿96ഒߴ଎

Slide 19

Slide 19 text

ϢχοτςετͰͷൺֱ 19 ϢχοτςετͰ͸ɺgo-cmp΍testifyͱ͍ͬͨ֎෦ϥΠϒϥϦΛ࢖༻Ͱ͖Δɻ ͔͠͠ɺ࣮ߦ࣌ͷੑೳ͕ॏཁͳ৔߹͸ɺಠࣗͷؔ਺Λ࣮૷͢Δ͜ͱ͕ϕετϓϥΫςΟεɻ

Slide 20

Slide 20 text

ͦͷ΄͔ͷൺֱؔ਺ 20 ඪ४ϥΠϒϥϦʹ͸ɺbytes.Compareͱ͍͏2ͭͷbyteεϥΠεΛ ൺֱͰ͖ΔϥΠϒϥϦ͕ଘࡏ͢Δɻ ಠࣗͷؔ਺Λ࣮૷͢Δલʹɺंྠͷ࠶ൃ໌Λ͍ͯ͠ͳ͍͜ͱΛ֬ೝ͢Δʂ

Slide 21

Slide 21 text

ൺֱՄೳͳΒ==, !=Λ࢖͏ ύϑΥʔϚϯεΛؾʹ͠ͳ͍ͳΒre f lectionΛ࢖༻͢Δ ύϑΥʔϚϯεΛؾʹ͢ΔͳΒಠ࣮ࣗ૷ ಠ࣮ࣗ૷͢ΔલʹطଘͷϥΠϒϥϦ͕ଘࡏ͢Δ͔ௐ΂Δ ·ͱΊ 21