-
Notifications
You must be signed in to change notification settings - Fork 14
Evalable
Evalable is just Committable that defaults to HEAD
.
Evalable also answers on m:
commands if camelia
is not around.
You can find some extra examples in tests: evalable.t
While it has never been a goal to replace camelia, over the months committable
has gained several advantages. Who knows, maybe one day there will be enough reasons to switch to it?
<AlexDaniel> eval: say 42
<evalable6> AlexDaniel, rakudo-moar 488ca6f06: OUTPUT: «42»
<AlexDaniel> m: say 42
<camelia> rakudo-moar 488ca6: OUTPUT: «42»
*** camelia ([email protected]) has quit: Ping timeout: 264 seconds
<AlexDaniel> m: say 42
<evalable6> AlexDaniel, rakudo-moar 488ca6f06: OUTPUT: «42»
<AlexDaniel> say you forget to start your message with “m:”
<AlexDaniel> say 42
<evalable6> AlexDaniel, rakudo-moar 488ca6f06: OUTPUT: «42»
Often times people wonder how can it guess which messages are supposed to be eval-ed.
The code for it is rather confusing, but @ipatrol++ wrote a nice simple explanation:
So it only works on “say”, intentionally omits “say I”, omits anything that ends in a period, question mark, or exclamation point, automatically operates on
say “…”
, and otherwise requires a word/nonword character ratio of 10 or less.
These rules were created by grepping through IRC history with Quotable.