y_tho -
Y_Less - 05.07.2018
y_tho
Introduction
Have you ever wished pawn wasn’t so C-like? Would you much prefer to script in the superior language of unix shell scripting? Well now you can! y_tho brings pawn syntax in to the 22nd century, with new keywords such as
esac,
fi, and many many more; just take a look:
Examples
Before:
Code:
for (new i = 0; i != 10; ++i)
{
printf("i is %d", i);
}
Now:
Code:
for i in {0 .. 10}
do
echo i is %d, i
done
Before:
Code:
if (playerid < 7)
{
SetPlayerPos(playerid, 0.0, 0.0, 4.0);
}
Now:
Code:
if [ playerid -lt 7 ]
then
SetPlayerPos playerid, 0.0, 0.0, 4.0
fi
Before:
Code:
switch (boss)
{
case 5:
{
printf("boss is 5");
}
case 10:
{
printf("boss is 10");
}
}
Now:
Code:
switch boss of
case 5)
printf("boss is 5");
case 10)
printf("boss is 10");
esac
All syntax
if/elif/else
Code:
if [ i -gt 5 ]
then
echo "i is %d", i
elif [ i -eq 5 ]
then
echo i is 5
else
echo "i is something else"
fi
for (range)
Code:
for j in {7 .. 11}
do
echo j is %d, j
done
Note that this syntax will declare
j as
new.
for (arithmetic)
Code:
for ((k = 10; k != 100; ++k))
do
echo k is %d, k
done
while
Code:
while [ i -lt 10 ]
do
echo "i is %d", i
++i
done
until (!while)
Code:
until [ i -eq 15 ]
do
echo "i is %d", i
SetPlayerPos i, 0.0, 0.0, 4.0
++i
done
switch
Code:
switch i of
case 5)
echo i is 5
case 10)
echo i is 5
default)
echo i is %d, i
esac
Note that this doesn’t QUITE match the bash
case syntax for technical reasons

.
echo
Code:
echo Hello world
echo "How are you?"
echo "The answer is %d", 42
comparisons
- -lt - Less than.
- -le - Less than or equal to.
- -eq - Equal.
- -ne - Not equal.
- -ge - Greater than or equal to.
- -gt - Greater than.
Semi-colons
These are now optional:
Code:
SetPlayerPos(playerid, 0.0, 0.0, 4.0)
Bonus
If you are using the new (community) compiler (which you really should be - it is available here:
https://github.com/pawn-lang/compiler/releases), brackets are also optional:
Code:
SetPlayerPos playerid, 0.0, 0.0, 4.0
Note that they’re never required on
echo regardless of your compiler.
y_tho?
y_not?
Seriously, why though?
Because people kept joking about me writing a library called “y_tho”, so I did.
Installation
I’m slightly apprehensive about even giving you the link to this, but here:
https://github.com/Y-Less/y_tho
It is also available through sampctl (another tool you should get from here:
http://sampctl.com/) here:
Code:
sampctl package install Y-Less/y_tho
Include in your code and begin using the library:
Re: y_tho -
Graber - 05.07.2018
woah
Re: y_tho -
iAmir - 05.07.2018
<when dreams come true>
waiting for y_not library, love `if-fi` part !
Re: y_tho -
BigETI - 05.07.2018
nice, finally
Re: y_tho -
J0sh... - 05.07.2018
been waiting for this legendary include... now waiting for y_not
Re: y_tho -
Kaperstone - 05.07.2018
makes me want to grind potatoes.
Re: y_tho -
TommyB - 05.07.2018
I can't believe it.
Re: y_tho -
Exhibit - 05.07.2018
y_tho?
Re: y_tho -
Codeah - 05.07.2018
10/10. Thank you for blessing us with this amazing include!
Re: y_tho -
[HLF]Southclaw - 05.07.2018
This will spruce up my releases, implementing it everywhere right now.