【发布时间】:2017-03-15 14:54:18
【问题描述】:
所以我有一个包含字符的文本文件,我让用户通过在控制台中打印来读取(通过将文件内容读入字符列表并将其转换为字符串),之后我试图让用户更改char 列表中的一个字母。但是,这样做我将不得不执行一个循环并访问包含字符列表的变量并循环遍历它,然后将其保存在同一个变量(或新变量)中以向用户显示以供批准,如果不是,用户应该能够通过运行相同的循环再次更改字符。
虽然我的问题是我无法找到一种方法来更改包含字符列表的变量而不使变量可变。对这个问题有什么建议吗?
while true do
Console.Write("\n\nDo you want to change some tokens? press 1 or 2 to end: ")
let rep = Console.ReadLine() |> int
if rep = 1 then
Console.Write("\n\n Enter the token you will change in the text : ")
let user = Console.ReadLine() |> char
let k1 = user
Console.Write("\n Enter your token you will replace TO : ")
let user2 = Console.ReadLine() |> char
let k2 = user2
let t = finalList
let finalList2 = swap t k1 k2
let f2 = finalList2 |> charListToString
printfn "%s" f2
从上面的代码实现中可以看出,我只能更改一次列表,如果循环再次运行,它将丢失之前更改的第一个值。
【问题讨论】: