StringTools - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Names and Strings : StringTools Package : Miscellaneous Utilities : StringTools/GenerateIdentifier

StringTools

  

GenerateIdentifier

  

create an identifier sequence generator

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

GenerateIdentifier( opts )

Parameters

opts

-

(optional) options

Description

• 

The GenerateIdentifier command returns a procedure that, when invoked repeatedly, returns strings for use as identifiers.

• 

Identifiers are, by default, formed by using the string t as a base, and appending integer suffices until the length of the resulting string exceeds a specified maximum length.

• 

The default maximum length is 6.

• 

The maximum length can be changed by specifying the maxlen = LEN option, which takes a positive integer value LEN.

• 

The default base string t can be changed by specifying the base = STRING option.

• 

In this case, the value of STRING will be used instead of t.

• 

The value of the base string must not exceed the maximum identifier length.

• 

An alternative system of generating names can be invoked by using the usename=STRING option.

• 

In this form, the returned generator forms strings by using maximal prefices of the given string, replacing suffices up to the maximum identifier length with digit sequences on subsequent calls.

• 

The maximal prefix of the STRING used is shortened as long as at least one character from the string remains.

• 

When no more unique strings not exceeding the maximum length can be generated, the returned generator raises the exception "no more identifiers".

Examples

withStringTools:

genGenerateIdentifier:

gen,gen,gen

t,t0,t1

(1)

genGenerateIdentifier'maxlen'=2:

seqgen,i=1..10:

gen

t9

(2)

GenerateIdentifier'base'=foobar,'maxlen'=2:

Error, (in StringTools:-GenerateIdentifier) base for identifiers is too long

genGenerateIdentifier'usename'=int,'maxlen'=3:

gen,gen,gen,gen

int,in0,in1,in2

(3)

seqgen,i=5..11120..1

i80,i81,i82,i83,i84,i85,i86,i87,i88,i89,i90,i91,i92,i93,i94,i95,i96,i97,i98,i99

(4)

gen

Error, (in gen) no more identifiers

genGenerateIdentifier'usename'=rational:

gen,gen,gen

ration,ratio0,ratio1

(5)

seqgen,i=4..111110:

gen

r99999

(6)

gen

Error, (in gen) no more identifiers

See Also

string

StringTools

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam