Idiomatically determine all the characters that can be used for symbols: Difference between revisions
Content added Content deleted
(Go solution) |
|||
Line 43: | Line 43: | ||
2nd..nth char: 193 NG, 63 OK 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz |
2nd..nth char: 193 NG, 63 OK 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz |
||
</pre> |
</pre> |
||
=={{header|Go}}== |
|||
Go allows the underscore, letters, and digits, with "letters" and "digits" defined by Unicode. The first character must be the underscore or a letter. To be exported, the first character must be an upper case letter, again as defined by Unicode. |
|||
<lang go>package main |
|||
import ( |
|||
"fmt" |
|||
"unicode" |
|||
) |
|||
func main() { |
|||
fmt.Println("Unicode version: ", unicode.Version) |
|||
fmt.Println() |
|||
fmt.Println("Underscore: _") |
|||
fmt.Println("ASCII digits: 0123456789") |
|||
fmt.Println("ASCII letters: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") |
|||
showRange("Unicode digits: ", unicode.Digit) |
|||
showRange("Unicode letters: ", unicode.Letter) |
|||
} |
|||
const Ω = 52 |
|||
var n int |
|||
var ряд, 广度一六 int |
|||
func showRange(hdr string, rt *unicode.RangeTable) { |
|||
fmt.Print(hdr) |
|||
n = 0 |
|||
r16 := rt.R16 |
|||
for r16[0].Hi < 128 { |
|||
r16 = r16[1:] |
|||
} |
|||
for _, rng := range r16 { |
|||
for r := rng.Lo; r <= rng.Hi; r += rng.Stride { |
|||
fmt.Print(string(r)) |
|||
n++ |
|||
if n == Ω { |
|||
fmt.Println("...") |
|||
return |
|||
} |
|||
} |
|||
} |
|||
fmt.Println() |
|||
for _, rng := range rt.R32 { |
|||
for r := rng.Lo; r <= rng.Hi; r += rng.Stride { |
|||
fmt.Print(string(r)) |
|||
n++ |
|||
if n == Ω { |
|||
fmt.Println("...") |
|||
return |
|||
} |
|||
} |
|||
} |
|||
fmt.Println() |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
Unicode version: 7.0.0 |
|||
Underscore: _ |
|||
ASCII digits: 0123456789 |
|||
ASCII letters: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz |
|||
Unicode digits: ٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧... |
|||
Unicode letters: ªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñ... |
|||
</pre> |
|||
=={{header|J}}== |
=={{header|J}}== |
||