the other day i was coding a scala apply(array: Array[String})
method to instantiate an object from a CSV file. i ended up with something like this:
apply(uuid = uuid, source = source, hostname = rewired(0), type = rewired(0), state = rewired(0), category = rewired(0), id = rewired(0), lifecycle = rewired(0), classification = rewired(0), ... flag = rewired(0))
there were about a 100 parameters to use. i wasn’t really too excited about having to change the rewired(0)
to use the proper index by hand. so, here’s what i did:
- in emacs mark the region
- then invoke
shell-command-on-region
and - use
perl -pi -e 's{rewired\(0\)}{sprintf("rewired(%d)", $. - 1)}e;'
as command to invoke
emacs will then show you the result of the command in a temporary buffer, you can either copy and paste from there, or just repeat the shell-command-on-region
and prefix it with ctrl-u — emacs with then replace the region with the output of the command directly.
voila!