crystal-object-send
Crystal Object#send
Interpret a String to an Object method call.
Similar to the Ruby's Object#send
.
Here macros and the Crystal::Parser
are used to build a pseudo interpreter.
Disclaimer
There are lots of limitations, this library is mainly an experiment.
Usually you better avoid using it and interpret the string on your own. It would be more performant and safer.
Installation
Add the dependency to your shard.yml
:
dependencies:
object-send:
github: j8r/crystal-object-send
Examples
"abc".send "chars" #=> ['a', 'b', 'c']
"abc".send "lchop('a')" #=> "bc"
"abc".send "insert 1, 'z'" #=> "azbc"
2.send("+ 3") #=> 5
var = "first 2"
[0, 1, 3].send(var) #=> [0, 1]
[0, 1, 2].send("[-1]?") #=> eq 2
[0, 1, 2].send("[..]") #=> eq [0, 1, 2]
See more in the specs
License
Copyright (c) 2019 Julien Reichardt - ISC License
Repository
crystal-object-send
Owner
Statistic
- 13
- 1
- 0
- 0
- 0
- over 5 years ago
- February 12, 2019
License
ISC License
Links
Synced at
Sun, 22 Dec 2024 09:27:33 GMT
Languages