练习 - 使用变量来存储值
在本练习中,你将了解如何创建可将代码输出到控制台的程序。 你将开始生成计算器程序。 还将分析一个存在错误的程序,并了解如何修复错误。
创建一个项目
首先创建一个项目。 使用 dotnet
可执行文件从命令行创建一个项目。
在控制台中运行命令
dotnet new
。dotnet new console --language F# -o Variables cd Variables
此命令将在目录 Variables 中创建一个新的 F# 项目。
在 Program.fs 中找到
main()
方法,并添加以下代码:printfn "Welcome to the calculator program" // read input from the console and assign to `sum` let sum = 0 printfn "The sum is %i" sum
第一行欢迎使用程序的用户。 在第二行中,有一个以“//”开头的注释,其中显示了你将在下一个练习单元中实现的代码。 然后是
let sum = 0
。 最后,创建用于保存计算结果的sum
变量。main()
函数现在应如下所示:[<EntryPoint>] let main argv = printfn "Welcome to the calculator program" // read input from the console and assign to `sum` let sum = 0 printfn "The sum is %i" sum 0
通过运行
dotnet run
来运行程序。dotnet run
您应看到以下输出:
Welcome to the calculator program The sum is 0
祝贺你! 你已成功创建项目的基架,启动一个较大型的项目,并使其运行。
更正错误
学习任何语言编程的一部分是学习如何识别编译错误并修复这些错误。 在本练习中,必须创建一个新项目的基架。 在继续操作之前,请确保你在目录结构中处于向上一级。
通过运行
dotnet new
来创建一个新的 F# 项目的基架。dotnet new console --language F# -o Errors cd Errors
确保
main
方法具有以下代码:[<EntryPoint>] let main argv = let aNumber = 0 printfn "Here's a number %s" aNumber 0 // return an integer exit code
提示
暂停一下,读一下前面的代码。 你认为此代码会进行编译吗? 为什么是或为什么不是?
通过运行
dotnet run
来运行项目。dotnet run
将显示类似于以下文本的错误消息:
/<path>/Errors/Program.fs(8,34): error FS0001: This expression was expected to have type 'string' but here has type 'int' [/<path>/Errors/Errors.fsproj] The build failed. Fix the build errors and run again.
错误消息指示“应为字符串,但此处为 int 类型。”你明白问题出在哪里吗? 问题是使用了格式化程序
%s
,而不是%i
,因为你为printfn
函数提供的是类型为int
的变量aNumber
。 接下来更正代码。找到“printfn "Here's a number %s" aNumber”这一行代码,并将其更改为:
printfn "Here's a number %i" aNumber
保存该文件,然后使用
dotnet run
再次运行它。 现在应会看到以下输出:Here's a number 0
祝贺你! 你已通过读取代码,了解出现的错误并修复错误,完成了程序的调试。 识别错误消息并知道如何更正错误是开发人员应具备的基本技能。