but I couldn't find anything similar. these are my two attempts to emulate it, but neither is perfect. For the first one ($a), you have to create a separate function for each distinct block you want to create. The second one just looks like horrible coding.

So my question to you is, what is the cleanest way you take in command line arguments, and if they don't exist, prompt the user for the values?
Oh, and also, is there a block type syntax similar to the C++ one I put at the top?