KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Clojure offers a macro called doto that takes its argument and a list of functions and essentially calls each function, prepending the (evaluated) argument: (doto (new java.util.HashMap) (.put "a" 1) (.put "b" 2)) -> {a=1, b=2} Is there some way to implement something similar in Scala? I envision something with the following form: val something = doto(Something.getInstance) { x() y() z() } which will be equivalent to val something = Something.getInstance something.x() something.y() something.z() Might it be possible using scala.util.DynamicVariable s? Note that with factory methods, like Something.getInstance , it is not possible to use the common Scala pattern val something = new Something { x() y() z() }
Tags (comma-separated)
Save Edits
Cancel