In this blog, Vijaye Raji wrote about arguments in Small Basic v0.1 (to v0.5). But from v0.6, the interface has been changed. So I will rewrite his article for current version of Small Basic.

The **Program** object in the standard library allows you to work with Command Line Arguments from inside a Small Basic program. The **Program** object includes a **ArgumentCount** property that gives the total number of arguments passed to the program, and a **GetArgument(index)** operation that allows you to access each of these arguments using their index.

The following program prints out all the prime numbers less than the number passed at the command line.

`If `

`(`

`Program`

`.`

`ArgumentCount `

`= `

`1`

`) `

`Then`

` `

`maxNumber `

`= `

`Program`

`.`

`GetArgument`

`(`

`1`

`)`

` `

` `

`If `

`(`

`maxNumber `

`< `

`2`

`) `

`Then`

` `

`TextWindow`

`.`

`WriteLine`

`(`

`"No Primes less than 2."`

`)`

` `

`EndIf`

` `

` `

`For `

`i `

`= `

`2 `

`To `

`maxNumber`

` `

`CheckPrime`

`(`

`)`

` `

`If `

`(`

`isPrime `

`= `

`"True"`

`) `

`Then`

` `

`TextWindow`

`.`

`WriteLine`

`(`

`i`

`)`

` `

`EndIf`

` `

`EndFor`

`Else`

` `

`TextWindow`

`.`

`WriteLine`

`(`

`"Usage: prime count"`

`)`

`EndIf`

` `

`Sub `

`CheckPrime`

` `

`isPrime `

`= `

`"True"`

` `

`For `

`j `

`= `

`2 `

`To `

`Math`

`.`

`SquareRoot`

`(`

`i`

`)`

` `

`If `

`(`

`Math`

`.`

`Remainder`

`(`

`i`

`, `

`j`

`) `

`= `

`0`

`) `

`Then`

` `

`isPrime `

`= `

`"False"`

` `

`EndIf`

` `

`EndFor`

`EndSub`

In this program, Small Basic tries to coerce any passed argument as a number. If you try passing a non-number, the program ends up with “0” and will print out “No Primes less than 2.”

For example:

C:\Users\Nonki\Documents>prime 5

2 3 5 Press any key to continue...

Ainda tenho uma certa dificuldade, mas eu estou correndo atrás do conhecimento!

Fantastic idea! I left a comment on that older post to link it back here.

Thanks, Nonki!

Thanks, PhilipRocker and Ed.