exercism/lua/accumulate
2016-08-13 18:20:14 -05:00
..
accumulate_spec.lua Initial Commit 2016-08-13 18:20:14 -05:00
README.md Initial Commit 2016-08-13 18:20:14 -05:00

Accumulate

Implement the accumulate operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.

For example, given the collection of numbers:

  • 1, 2, 3, 4, 5

And the operation:

  • square a number

Your code should be able to produce the collection of squares:

  • 1, 4, 9, 16, 25

Check out the test suite to see the expected function signature.

Restrictions

Keep your hands off that collect/map/fmap/whatchamacallit functionality provided by your standard library! Solve this one yourself using other basic tools instead.

Elixir specific: it's perfectly fine to use Enum.reduce or Enumerable.reduce.

Lisp specific: it's perfectly fine to use MAPCAR or the equivalent, as this is idiomatic Lisp, not a library function.

Getting started

First install lua and luarocks using homebrew

$ brew install lua

Then install busted testing framework for lua

$ luarocks install busted

Then run your test

$ busted bob_test.lua

Other resources

  1. Lua Style Guide
  2. Learn Lua in 15 minutes

Source

Conversation with James Edward Gray II view source