toSnakeCase

package @property pure @trusted
string
toSnakeCase
(
in string str
,
bool ignore_first = true
)

Examples

assertEq( "SomeVar".toSnakeCase, "some_var" );
assertEq( "SomeVar".toSnakeCase(false), "_some_var" );

assertEq( "someVar".toSnakeCase, "some_var" );
assertEq( "someVar".toSnakeCase(false), "some_var" );

assertEq( "ARB".toSnakeCase, "a_r_b" );
assertEq( "ARB".toSnakeCase(false), "_a_r_b" );

// not alphabetic chars in upper case looks like lower, func separate by them
assertEq( "A.B.r.A".toSnakeCase, "a_._b_.r_._a" );
assertEq( "A_B_r_A".toSnakeCase, "a___b__r___a" );

Meta