Remix.run Logo
pphysch 8 days ago

That Ruby code is clever and concise, and terrible to read and extend

pansa2 8 days ago | parent [-]

IMO it's much closer to the ideal way to write the function, which would be something like:

    fn stringify(item) =>
        item.is_a(String) then item else
        item.value.convert(item.conversion).format(item.format_spec)

    fn f(template) => template.map(stringify).join()
pphysch 8 days ago | parent [-]

By what definition of "ideal"? You just hid all the complexity in those undefined `convert` and `format` methods.

pansa2 8 days ago | parent [-]

The original code does the same! All the real work is inside `convert` and `format`, it just adds another layer of complexity on top.

The ideal version has the same behaviour and shows that the extra complexity is unnecessary.