Remix.run Logo
▲ customguy 6 hours ago

Yesterday I was re-using some shaders I had written a long time ago, and here's what I used to do multiline strings before the glorious backtick arrived on the scene...

    (function () {/*
      my awesome shader code
    */}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1]
... I can't call it sexy, but I also can't deny I felt a mixture of fear and arousal when I saw that.
▲annex-winged-cr 5 hours ago | parent | next [-]

TIL about [^], never seen that before. Apparently, it works like a dot but it also matches newlines.

▲chii 4 hours ago | parent | next [-]

I believe this is the regular syntax for a set of characters (between "[" and "]"), but the caret symbol ("^") is negation when used inside the set. Therefore, it is simply the negation of an empty set of characters.

▲gmac 5 hours ago | parent | prev [-]

Oh, me too. I’ve previously used [\s\S] for that.

▲h43z 5 hours ago | parent | prev [-]

Pretty interesting that you can carry comments over.

    (x=>/*this is a comment*/1) + 1
    "x=>/*this is a comment*/11"
I wonder if anything cool can be done with it today. It's probably useless.