Idiomatically determine all the characters that can be used for symbols: Difference between revisions

Go solution
(Go solution)
Line 43:
2nd..nth char: 193 NG, 63 OK 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
</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}}==
 
1,707

edits