Sha256: 20eef1051de2e3e7485a852825f124460ec919390ecfdfd986ea09f27cccc005

Contents?: true

Size: 1.27 KB

Versions: 2

Compression:

Stored size: 1.27 KB

Contents

# Before
s(:defn, :until_count_to_value,
  s(:scope,
    s(:block, s(:args),
      s(:until,
        # Condition
        s(:call, s(:ivar, :@i), :>,
          s(:array, s(:ivar, :@value))
        ),
        # Body
        s(:block,
          s(:call, s(:ivar, :@counts), :<<,
            s(:array, s(:ivar, :@i))
          ),
          s(:iasgn, :@i,
            s(:call, s(:ivar, :@i), :+,
              s(:array, s(:lit, 1))
            )
          )
        ),
        # TODO Again, I'm not sure what this true is for
        true
      ),
      s(:ivar, :@counts)
    )
  )
)

# After
s(:defn, :until_result,
  s(:scope,
    s(:block, s(:args),
      s(:fcall, :my_until,
        s(:array,
          s(:iter,
            s(:fcall, :lambda), nil,
            # Condition
            s(:call, s(:ivar, :@i), :>,
              s(:array, s(:ivar, :@value))
            )
          ),
          s(:iter,
            s(:fcall, :lambda), nil,
            # Body
            s(:block,
              s(:call, s(:ivar, :@counts), :<<,
                s(:array, s(:ivar, :@i))
              ),
              s(:iasgn, :@i,
                s(:call, s(:ivar, :@i), :+,
                  s(:array, s(:lit, 1)))
              )
            )
          )
        )
      ),
      s(:ivar, :@counts)
    )
  )
)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
virtual_keywords-0.3.1 lib/sexps/sexps_until.rb
virtual_keywords-0.3.0 lib/sexps/sexps_until.rb