Command-line arguments: Difference between revisions
Content deleted Content added
m →{{header|Phix}}: added syntax colouring the hard way |
|||
Line 1,645: | Line 1,645: | ||
=={{header|Phix}}== |
=={{header|Phix}}== |
||
<lang Phix> |
<!--<lang Phix>--> |
||
<span style="color: #008080;">constant</span> <span style="color: #000000;">cmd</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">command_line</span><span style="color: #0000FF;">()</span> |
|||
?cmd |
|||
<span style="color: #0000FF;">?</span><span style="color: #000000;">cmd</span> |
|||
if cmd[1]=cmd[2] then |
|||
<span style="color: #008080;">if</span> <span style="color: #000000;">cmd</span><span style="color: #0000FF;">[</span><span style="color: #000000;">1</span><span style="color: #0000FF;">]=</span><span style="color: #000000;">cmd</span><span style="color: #0000FF;">[</span><span style="color: #000000;">2</span><span style="color: #0000FF;">]</span> <span style="color: #008080;">then</span> |
|||
printf(1,"Compiled executable name: %s\n",{cmd[1]}) |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Compiled executable name: %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">cmd</span><span style="color: #0000FF;">[</span><span style="color: #000000;">1</span><span style="color: #0000FF;">]})</span> |
|||
else |
|||
<span style="color: #008080;">else</span> |
|||
printf(1,"Interpreted (using %s) source name: %s\n",cmd[1..2]) |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Interpreted (using %s) source name: %s\n"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">cmd</span><span style="color: #0000FF;">[</span><span style="color: #000000;">1</span><span style="color: #0000FF;">..</span><span style="color: #000000;">2</span><span style="color: #0000FF;">])</span> |
|||
end if |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span> |
|||
if length(cmd)>2 then |
|||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">cmd</span><span style="color: #0000FF;">)></span><span style="color: #000000;">2</span> <span style="color: #008080;">then</span> |
|||
puts(1,"Command line arguments:\n") |
|||
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Command line arguments:\n"</span><span style="color: #0000FF;">)</span> |
|||
for i = 3 to length(cmd) do |
|||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">3</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">cmd</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span> |
|||
printf(1,"#%d : %s\n",{i,cmd[i]}) |
|||
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"#%d : %s\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">i</span><span style="color: #0000FF;">,</span><span style="color: #000000;">cmd</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">]})</span> |
|||
end for |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span> |
|||
⚫ | |||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span> |
|||
⚫ | |||
When interpreting, the first two elements returned by command_line() are {interpreter,source}.<br> |
When interpreting, the first two elements returned by command_line() are {interpreter,source}.<br> |
||
When compiled, the first two elements are instead {executable,executable}, so the parameters (if any) are consistently the 3rd element onwards. |
When compiled, the first two elements are instead {executable,executable}, so the parameters (if any) are consistently the 3rd element onwards. |