Slide 1

Slide 1 text

-PT"OHFMFT

Slide 2

Slide 2 text

-PT"OHFMFT

Slide 3

Slide 3 text

-PT"OHFMFT ⏰⚡ 5JNFPVU

Slide 4

Slide 4 text

*GJUEPFTOPUUJNFEPVU

Slide 5

Slide 5 text

8FE Magic comment magic ,PJDIJ*50&4. JOD 3VCZ$POG 5IF.JMMFOOJVN#JMUNPSF-PT"OHFMFT My memorial RuboCop’s issue 2018

Slide 6

Slide 6 text

5IV Magic comment magic ,PJDIJ*50&4. JOD )FJTFJSC 4IJCVZB +BQBO My memorial RuboCop’s issue 2018 Reiwa edition

Slide 7

Slide 7 text

!LPJD w *DPNFGSPN5PLZP +BQBO w *`NXPSLJOHJO&4. JOD w 3VCP$PQDPNNJUUFS w "30SBDMFFOIBODFE BEBQUFSDPNNJUUFS w 3VCZ,BJHJTQFBLFS w 3VCZ,BJHJ-5FS

Slide 8

Slide 8 text

"TJNJMBSOPUBUJPOT Ӭ࿨ &JXB4ZTUFN.BOBHFNFOU *OD ྩ࿨ 3FJXB

Slide 9

Slide 9 text

"TJNJMBSOPUBUJPOT Ӭ࿨ &JXB4ZTUFN.BOBHFNFOU *OD /eiwa/i.match?('Eiwa') #=> true ྩ࿨ 3FJXB

Slide 10

Slide 10 text

"TJNJMBSOPUBUJPOT Ӭ࿨ &JXB4ZTUFN.BOBHFNFOU *OD /eiwa/i.match?('Eiwa') #=> true ྩ࿨ 3FJXB /eiwa/i.match?('Reiwa') #=> true

Slide 11

Slide 11 text

*DPNFGSPNFJXB

Slide 12

Slide 12 text

044

Slide 13

Slide 13 text

Support coexistence with OSS community

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

5IJTJTUIF3VCP$PQDPOUSJCVUPSTSBOLJOHUIJTZFBS

Slide 16

Slide 16 text

5IJTJTUIF3VCP$PQDPOUSJCVUPSTSBOLJOHUIJTZFBS *U`TNF

Slide 17

Slide 17 text

*XJMMUBMLBCPVU lNBHJDDPNNFOUz XJUI3VCP$PQ UIJTQSFTFOUBUJPO

Slide 18

Slide 18 text

3VCZIBTUXPNBKPS NBHJDDPNNFOUGFBUVSFT

Slide 19

Slide 19 text

3VCZIBTUXPNBKPS NBHJDDPNNFOUGFBUVSFT w&ODPEJOHNBHJD DPNNFOU

Slide 20

Slide 20 text

3VCZIBTUXPNBKPS NBHJDDPNNFOUGFBUVSFT w&ODPEJOHNBHJD DPNNFOU w'SP[FOTUSJOHMJUFSBM NBHJDDPNNFOU

Slide 21

Slide 21 text

&ODPEJOHNBHJDDPNNFOU # encoding: 'utf-8' # encoding: 'ascii'

Slide 22

Slide 22 text

&ODPEJOHNBHJDDPNNFOU w5IJTNBHJDDPNNFOUNBLFTpMF FODPEJOHTQFDJpFECZFODPEJOH w*OUSPEVDFEGSPN3VCZ w4DSJQUFODPEJOHJT65'CZ EFGBVMUGSPN3VCZ w5IVTUIJTNBHJDDPNNFOUJT VOOFFEFEBMNPTUDBTFTDVSSFOUMZ

Slide 23

Slide 23 text

# frozen_string_literal: true # frozen_string_literal: false 'SP[FOTUSJOHNBHJDDPNNFOU

Slide 24

Slide 24 text

'SP[FOTUSJOHNBHJDDPNNFOU w5IJTNBHJDDPNNFOUNBLFTGSP[FO TUSJOHMJUFSBMXIFUIFSPSOPU w*OUSPEVDFEGSPN3VCZ w3VCZPO3BJMTGSBNFXPSLDPEFT JOUSPEVDFEJUGSPN3BJMT w0OUIFPUIFSIBOE3BJMT HFOFSBUPSTEPFTOPUJODMVEFEJU

Slide 25

Slide 25 text

5IFSFJTBDPQ SFMBUFEUPUIFTF NBHJDDPNNFOUT

Slide 26

Slide 26 text

SVCPDPQIRSVCPDPQ 'FBUVSF3FRVFTU8BSOJOWBMJEMPDBUJPOPG DPEJOHQSBHNB

Slide 27

Slide 27 text

5IJTJTBGFBUVSFSFRVFTUUP3VCP$PQ

Slide 28

Slide 28 text

SVCPDPQIRSVCPDPQ <'JY>"EEOFXA-JOU0SEFSFE.BHJD$PNNFOUTADPQ

Slide 29

Slide 29 text

5IJTQVMMSFRVFTUIBTJNQMFNFOUFEUIFGFBUVSF

Slide 30

Slide 30 text

"CPVUGFBUVSF w5IJTDPQDIFDLTDPEJOH NBHJDDPNNFOUTIPVMECF pSTUMJOF PSOFYUPGTIFCBOH
 
 
 


Slide 31

Slide 31 text

"CPVUGFBUVSF w5IJTDPQDIFDLTDPEJOH NBHJDDPNNFOUTIPVMECF pSTUMJOF PSOFYUPGTIFCBOH w5IFOFYUTMJEFFYBNQMF FYQFDUFEUPGSP[FOTUSJOH BOE65'FODPEJOH

Slide 32

Slide 32 text

#BEPSEFS # frozen_string_literal: true # encoding: ascii p [''.frozen?, ''.encoding] #=> [true, #] *UFYQFDUFE"4$**FODPEJOHCVUBDUVBMMZ65'FODPEJOH

Slide 33

Slide 33 text

(PPEPSEFS # encoding: ascii # frozen_string_literal: true p [''.frozen?, ''.encoding] #=> [true, #]

Slide 34

Slide 34 text

(PPEPSEFS #!/usr/bin/env ruby # encoding: ascii # frozen_string_literal: true p [''.frozen?, ''.encoding] #=> [true, #]

Slide 35

Slide 35 text

1SFWJPVTMZ UIJTDPQIBE BQSPCMFN

Slide 36

Slide 36 text

SVCPDPQIRSVCPDPQ -JOU0SEFSFE.BHJD$PNNFOUTSFQPSUTBUMJOFJTOPU BNBHJDDPNNFOU

Slide 37

Slide 37 text

*UXBTBCVHSFQPSUGSPNNZ3VCZGSJFOE

Slide 38

Slide 38 text

5IJTJTBWBMJEDPEF # frozen_string_literal: true x = { encoding: Encoding::SJIS } puts x

Slide 39

Slide 39 text

"OPGGFOTFPG 3VCP$PQPDDVST # frozen_string_literal: true x = { encoding: Encoding::SJIS } puts x test.rb:3:1: W: Lint/ OrderedMagicComments: The encoding magic comment should precede all other magic comments.

Slide 40

Slide 40 text

SVCPDPQIRSVCPDPQ <'JY>'JYBGBMTFQPTJUJWFGPS A-JOU0SEFSFE.BHJD$PNNFOUTA

Slide 41

Slide 41 text

*PQFOFEBQVMMSFRVFTUUPpYJU

Slide 42

Slide 42 text

5IJTJTUIFDPSFPGUIF QBUDI

Slide 43

Slide 43 text

5IFSFXBTBGBMTFQPTJUJWF UPNJTVOEFSTUBOEJOHUIF )BTIOPUBUJPOBTBO FODPEJOHNBHJDDPNNFOU

Slide 44

Slide 44 text

"TJNJMBSOPUBUJPOT

Slide 45

Slide 45 text

"TJNJMBSOPUBUJPOT .BHJDDPNNFOU # encoding: ascii

Slide 46

Slide 46 text

"TJNJMBSOPUBUJPOT .BHJDDPNNFOU # encoding: ascii )BTI x = { encoding: Encoding::SJIS }

Slide 47

Slide 47 text

"TJNJMBSOPUBUJPOT .BHJDDPNNFOU # encoding: ascii )BTI x = { encoding: Encoding::SJIS } ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 48

Slide 48 text

"TJNJMBSOPUBUJPOT .BHJDDPNNFOU # encoding: ascii ^^^^^^^^^^^^^^^ )BTI x = { encoding: Encoding::SJIS } ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 49

Slide 49 text

"TJNJMBSOPUBUJPOT # encoding: ascii ^^^^^^^^^^^^^^^ encoding: Encoding::SJIS ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 50

Slide 50 text

"TJNJMBSOPUBUJPOT encoding: ascii ^^^^^^^^^^^^^^^ encoding: Encoding::SJIS ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 51

Slide 51 text

)PXEPZPVMPPLTUIJT encoding: ascii ^^^^^^^^^^^^^^^ encoding: Encoding::SJIS ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 52

Slide 52 text

5IJTQBUDIDIBOHFTUIF QBUUFSONBUDIPGUIF FODPEJOHNBHJDDPNNFOU UIBUCFHJOOJOHPGMJOF BMXBZTTUBSUTXJUIAA

Slide 53

Slide 53 text

5IFNBHJDDPNNFOUMJOF BMXBZTTUBSUTXJUIAA encoding: ascii ^^^^^^^^^^^^^^^ encoding: Encoding::SJIS ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 54

Slide 54 text

5IFNBHJDDPNNFOUMJOF BMXBZTTUBSUTXJUIAA # encoding: ascii ^^^^^^^^^^^^^^^^^ encoding: Encoding::SJIS ^^^^^^^^^^^^^^^^^^^^^^^^

Slide 55

Slide 55 text

5IJTXBTBGVOOZCVH

Slide 56

Slide 56 text

4P ZPVDBOPQFO BOJTTVFPSB13 BMXBZT JGZPVpOEBCVHPS BOJTTVF

Slide 57

Slide 57 text

:PVSJTTVFNBZCF BOZPOFTJTTVF

Slide 58

Slide 58 text

4FFZPVTPDJBMDPEJOH DPNNVOJUZXPSME XJUI3VCZ

Slide 59

Slide 59 text

l /PXBZUPMJNJUPVS HPBMT8FMMpOEB SFBTPOUPCFMJFWF 'BDJOH/PWB&SB /PWB&SB