Slide 1

Slide 1 text

͜Ε͸1FSMʁɹͦΕͱ΋3VCZʁ ΫΠζʙʙʙʙʙʂʂʂ  :"1$)BLPEBUF-5 !NP[OJPO

Slide 2

Slide 2 text

ʮ1FSMॻ͚ΔͳΒ3VCZॻ͚ΔΑͶʁʯ

Slide 3

Slide 3 text

ʮ3VCZॻ͚ΔͳΒ1FSMॻ͚ΔΑͶʁʯ

Slide 4

Slide 4 text

ͲͪΒ΋ਓݖ໰୊Ͱ͋Δͱ ޿͘ೝࣝ͞Ε͍ͯΔ

Slide 5

Slide 5 text

͓͖ͯ͞ʜʜ ΫΠζʙʙʙʙʂʂʂʂʂ

Slide 6

Slide 6 text

ճ౴ީิ 1. Perl 2. Ruby 3. ྆ํ 4. ͲͪΒͰ΋ͳ͍ 5. ྆ํͰಈ͕݁͘Ռ͕ҧ͏

Slide 7

Slide 7 text

2

Slide 8

Slide 8 text

print "yapc"

Slide 9

Slide 9 text

print "yapc" ྆ํ

Slide 10

Slide 10 text

2

Slide 11

Slide 11 text

say "yapc"

Slide 12

Slide 12 text

say "yapc" 1FSM

Slide 13

Slide 13 text

2

Slide 14

Slide 14 text

print "yapc" print "hakodate"

Slide 15

Slide 15 text

print "yapc" print "hakodate" 3VCZ

Slide 16

Slide 16 text

2

Slide 17

Slide 17 text

print '0' ? 'true' : 'false'

Slide 18

Slide 18 text

print '0' ? 'true' : 'false' ྆ํͰಈ͕݁͘Ռ͕ҧ͏

Slide 19

Slide 19 text

2

Slide 20

Slide 20 text

@l ist = (1..5); print @ l ist;

Slide 21

Slide 21 text

@l ist = (1..5); print @ l ist; ྆ํͰಈ͕݁͘Ռ͕ҧ͏

Slide 22

Slide 22 text

2

Slide 23

Slide 23 text

$_ a = '5'; $_ b = '10'; print $ _ a + $ _ b;

Slide 24

Slide 24 text

$_ a = '5'; $_ b = '10'; print $ _ a + $ _ b; ྆ํͰಈ͕݁͘Ռ͕ҧ͏

Slide 25

Slide 25 text

2

Slide 26

Slide 26 text

print $ _

Slide 27

Slide 27 text

print $ _ ྆ํͰಈ͕݁͘Ռ͕ҧ͏

Slide 28

Slide 28 text

2

Slide 29

Slide 29 text

class Example { }

Slide 30

Slide 30 text

class Example { } 1FSM

Slide 31

Slide 31 text

2

Slide 32

Slide 32 text

print true

Slide 33

Slide 33 text

print true ྆ํ 1FSMͷόʔδϣϯґଘ

Slide 34

Slide 34 text

use v5.40; print true;

Slide 35

Slide 35 text

2

Slide 36

Slide 36 text

class Person attr_accessor :name attr_accessor :age end

Slide 37

Slide 37 text

class Person attr_accessor :name attr_accessor :age end 3VCZ ͱ͜ΖʹΑΓ1FSM

Slide 38

Slide 38 text

package Filter; use Filter::Util::Call; sub im port { filter_add([]); } sub filter { my ( $ self) = @_ ; my $status = filter_read(); return $status if $status <= 0; s/\bclass\s+(\w+)/package $1 {/g; s/\bend\b/}/g; s/\battr_accessor\s+:(\w+)/sub $ 1 { my \$self = shift; \ @ _ ? \$self->{\ $ 1 } = shift : \$self->{\ $1 } }/g; return $status; };

Slide 39

Slide 39 text

2

Slide 40

Slide 40 text

attr_accessor 'yapc', 'hakodate'

Slide 41

Slide 41 text

attr_accessor 'yapc', 'hakodate' 3VCZ ͱ͜ΖʹΑΓ1FSM

Slide 42

Slide 42 text

use Rubyish::Class; attr_accessor 'yapc', 'hakodate'

Slide 43

Slide 43 text

2

Slide 44

Slide 44 text

def add(a, b) a + b end

Slide 45

Slide 45 text

def add(a, b) a + b end 3VCZ ͱ͜ΖʹΑΓ1FSM

Slide 46

Slide 46 text

use Inline::Ruby; __END__ __Ruby__ def add(a, b) a + b end

Slide 47

Slide 47 text

͍͔͕Ͱ͔ͨ͠ʁ

Slide 48

Slide 48 text

3VCZͱ1FSMͬͯࣅͯ·͢Ͷ