Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
March 16, 2015 How to generate a random string ... | ||||
---|---|---|---|---|
| ||||
... from all Unicode characters in an idiomatic D way? (std.interal.unicode_*) ``` T genUnicodeString(T)(size_t minChars, size_t maxChars) if(isSomeString!T) { ... } ``` |
March 16, 2015 Re: How to generate a random string ... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert burner Schadek | Robert burner Schadek:
> ... from all Unicode characters in an idiomatic D way?
Perhaps by rejection? I mean, generating a uint, test if it's a character and repeat until the result is true.
Bye,
bearophile
|
March 16, 2015 Re: How to generate a random string ... | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Monday, 16 March 2015 at 18:48:29 UTC, bearophile wrote:
> Perhaps by rejection? I mean, generating a uint, test if it's a character and repeat until the result is true.
hm, that must not even terminate.
|
March 16, 2015 Re: How to generate a random string ... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert burner Schadek | On Monday, 16 March 2015 at 13:33:55 UTC, Robert burner Schadek wrote: > ... from all Unicode characters in an idiomatic D way? (std.interal.unicode_*) > > ``` > T genUnicodeString(T)(size_t minChars, size_t maxChars) if(isSomeString!T) { > ... > } > ``` I guess it depends on the encoding? Some references: http://stackoverflow.com/questions/23853489/generate-a-random-unicode-string http://www.bonf.net/2009/01/14/generating-random-unicode-strings-in-c/ |
March 16, 2015 Re: How to generate a random string ... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gary Willoughby | On Monday, 16 March 2015 at 22:19:52 UTC, Gary Willoughby wrote: > I guess it depends on the encoding? No the character itself are encoding independent. > > Some references: > http://stackoverflow.com/questions/23853489/generate-a-random-unicode-string This will not work as the caller has to specify the code range. I want to specify the string length and the random use is not even uniform (see channel 9 link) http://channel9.msdn.com/Events/GoingNative/2013/rand-Considered-Harmful > http://www.bonf.net/2009/01/14/generating-random-unicode-strings-in-c/ I'm not use how that is going to give me the 113,021 unicode defined characters let alone in a uniform way. |
March 17, 2015 Re: How to generate a random string ... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert burner Schadek | On Monday, 16 March 2015 at 13:33:55 UTC, Robert burner Schadek
wrote:
> ... from all Unicode characters in an idiomatic D way? (std.interal.unicode_*)
>
> ```
> T genUnicodeString(T)(size_t minChars, size_t maxChars) if(isSomeString!T) {
> ...
> }
> ```
You'll need two things. A uniform distribution of { 0 ... 113,020
}, this should be easy using phobos. And a mapping of { 0 ...
113,020 } -> unicode ( or UTFX directly ). Since the unicode
planes or not connected, this might involve some kind of table.
Then just generate your uniform distribution and apply the
mapping.
|
Copyright © 1999-2021 by the D Language Foundation