I tried this:
open System
let main() =
let mutable str1 = "qwerty"
printfn "%c" str1[0]
main()
got this:
error FS0597: Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized
I found this site: https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/strings and here it's working I don't know why. I found other sites, where everyone said about parentheses
open System
let main() =
let mutable str1 = "qwerty"
printfn "%c" (str1[0])
main()
and got this:
error FS0003: This value is not a function and cannot be applied
CodePudding user response:
If you want to print a single character from a string you actually need to put a dot in between the object and the squared brackets.
printfn "%c" str1.[0]
Here writes Microsoft: "You can access array elements by using a dot operator (.) and brackets ([ and ])." However, their example actually also does not include the dot
. Nevertheless, in order to access array elements, you need to use the dot operator.