应用运算符

已完成

通常,程序接受输入。 输入可能来自各种源,如通过控制台或图形用户界面的 Web 请求、文件或用户输入。 在你将输入数据导入程序后,需要确保它采用的是程序可以处理的格式。 你还需要了解运算符如何对数据执行操作和计算。

从控制台读取输入

若要从控制台读取,可以使用在 System 命名空间中找到的方法。 你希望使用类似 Console.Readline() 的内容。 此方法会读取换行符之前的所有字符,并将这些字符放入一个字符串中。 下面是使用此方法的示例。

System.Console.Write "Type a value:"
let str = System.Console.ReadLine()
printfn "You typed %s" str

此代码可以很好地存储用户在字符串变量中输入的内容。 但是,如果程序需要处理用户输入,并且需要将其视为一个数字或布尔值以在操作中使用它,会发生什么情况? 此时,需要转换数据。

在数据类型之间进行转换

你已了解 F# 如何通过为变量赋值来隐式推断变量的类型,如下所示:

let myNumber = 3

但是,如果你有一个字符串,需要将其转换为 int,该怎么办?

let myString = "3"

主要方法有两种:

  • System.Int32.Parse():使用 .NET 中的方法,即 Parse() 命名空间中的 System 函数:System.Int32.Parse()
  • 内置 int:可以使用内置 int 函数。

若要使用第一种方法,请编写如下代码:

let first = "32"
let numberVersion = System.Int32.Parse first 
printfn "Number %i" numberVersion // Output: Number 32

若要使用内置 int 函数,输入如下代码:

let first = "32"
let numberVersion =  int first 
printfn "Number %i" numberVersion

那么,该使用哪一种? 首选具有内置 int 函数的版本。

运算符

你已了解如何从控制台读取输入,并已了解输入如何以字符串形式存储。 为了在操作中使用它,可以将值从 string 转换为 int。大多数类型都存在转换函数。 为使代码执行一些有用的操作,需要了解运算符。 通过使用数学运算符,可以进行加、减、除等运算。 基本数据类型支持这些运算符。 下面是一些最重要的运算符。

操作员 说明
+ 两个值相加
- 两个值相减
/ 左侧值与右侧值相除
% 称为“取模”,左侧值与右侧值相除得到余数
<> 检查两个值是否不相等
= 检查两个值是否相等

例如,若要使用取模运算符,可以输入:

let no = 10
let isDivisibleByTwo = no % 2 = 0
printfn "Divisible by two %b" isDivisibleByTwo