Slide 1

Slide 1 text

:|┃ TokyuRubyKaigi12 2018-07-29 ujihisa

Slide 2

Slide 2 text

:|| 反復記号

Slide 3

Slide 3 text

require 'continuation' class String def |(x) x.() end end def ┃ -> { $c.call($c) } end class Proc def |(_) $c = callcc {|c| c } end end $c ||= callcc {|c| c }

Slide 4

Slide 4 text

require 'さっきのやつ' puts 'before' %: :|┃ p 'after'

Slide 5

Slide 5 text

require 'さっきのやつ' puts 'before' %: :|┃ p 'after'

Slide 6

Slide 6 text

require 'さっきのやつ' puts 'before' (%: :).|(┃) p 'after'

Slide 7

Slide 7 text

require 'continuation' class String def |(x) x.() end end def ┃ -> { $c.call($c) } end class Proc def |(_) $c = callcc {|c| c } end end $c ||= callcc {|c| c }

Slide 8

Slide 8 text

require 'さっきのやつ' puts 'first' ┃|:"start\n".display puts 'before' %: :|┃ p 'after'

Slide 9

Slide 9 text

require 'さっきのやつ' puts 'first' ┃|:"start\n".display puts 'before' %: :|┃ p 'after'

Slide 10

Slide 10 text

require 'continuation' class String def |(x) x.() end end def ┃ -> { $c.call($c) } end class Proc def |(_) $c = callcc {|c| c } end end $c ||= callcc {|c| c }

Slide 11

Slide 11 text

:|┃ continuation便利 毎日使おう