F#:如何检查n元组中的内容并返回true或false?
考虑以下F#代码:F#:如何检查n元组中的内容并返回true或false?,f#,f#-data,F#,F# Data,考虑以下F#代码: 我这里有错误,有什么修正吗?首先,请发布错误消息和一个更具体的问题。谢谢但幸运的是,我可以从这个问题中推断出错误消息 接下来,如果在解构employee8元组后,您希望变异SalaryType,则应使用mutable关键字编写: 让可变(fName、lName、职业、部门、薪水类型、, 每周小时数、年平均数、小时年龄)=员工 但你不应该。下文将对此作进一步解释 下一个问题:没有用于访问元组成员的点表示法(notuple.member)。只有通过解构才能实现。所以你不能empl
我这里有错误,有什么修正吗?首先,请发布错误消息和一个更具体的问题。谢谢但幸运的是,我可以从这个问题中推断出错误消息 接下来,如果在解构
employee
8元组后,您希望变异SalaryType,则应使用mutable
关键字编写:
让可变(fName、lName、职业、部门、薪水类型、,
每周小时数、年平均数、小时年龄)=员工
但你不应该。下文将对此作进一步解释
下一个问题:没有用于访问元组成员的点表示法(notuple.member
)。只有通过解构才能实现。所以你不能employee.SalaryType
这里是问题的症结所在,这是我在学习函数式编程时犯过的多次错误,这是一个很难适应的范式转换。您不应该试图改变数据,或者在这种情况下,改变变量。一般来说,变量或在F#中称为的值不应该改变。函数应该是纯函数
这意味着在离开函数后,传递到函数中的任何参数都不应更改。返回调用范围后,参数employee
应相同
你犯了一些语法错误,这让我很难推断出你一开始想做什么。请在问题中包括这一点
还有,最后一点挑剔。正如您所知,F#函数中的最后一个表达式是它的返回值。不使用if语句,只需返回正在测试的条件,如下所示:
让。。。
...
employee.SalaryType=SalaryType
Hi@dr_hakase,欢迎来到StackOverFlow!请您详细说明您的问题,并用代码发布您面临的错误,好吗?以下教程也可以帮助您:
let isSalary employee =
let (fName,lName,Occupation,Department,SalaryType,
HoursPerWeek, AnnualSalary, HourlyWage
) = employee
SalaryType = "Salary"
if(employee.SalaryType = SalaryType) then
true
else
false