This is the final post of my trilogy; the other 2 you can read here:
How it started
How it was going
It has been only few days since my last blog, but in this short time I was able to produce an acceptable result that would suffice the feature implementation desired on the issue.
How I did it
As I said before, the way I did it was very simple.
Get value from input field, parse it, and give the parsed string to a p tag.
For each character on the input value, a series of checks were made. If the character passed the check, then a span with a certain class were added to it.
Looks simple right?
But when a
% can mean something and
%1 can mean something else it starts to get more interesting.
Now imaging parsing this:
Of course, that to be able to solve it and understand the priority of each character, I had to learn how to Lua Script RegEx worked.
The result worked well, here is a screenshot of the result:
What I Learned
I thought I knew a little bit of JS… but when you have no access to
npm modules and need to create your own algorithms with limited time you can see that even JS goes way deeper than you think.
First, I was using
map to change each character of my array. Then I decided to mix it with
shift(), and started to have some very interesting results, which I cannot fully understand to be honest.
It was working perfect, with exception that the character at the end of my string was disappearing in the way.
And why? I don’t know too :D
When I needed to remove the first character, I used shift. But sometimes it was also not needed, and again I don’t know why.
So I decided to stop trying making something complex which would look good to make something simpler, but that worked fine.
You don’t need to be a programmer to understand that a man gave up here:
But I think this will happen a lot, code that work but I’m not sure why.
This PR was a lesson of humility to be honest, and what looked like an easy task took me so long and made me see that I don’t fully understand JS, not even basic functions.
And to be honest, it felt pretty good. For sure I am going back to this code to understand it better and learn what was going wrong
with my first attempt.
I hope you have enjoyed reading this,
Top comments (2)
I've been here many times. Certainly a lesson in humility :)