我是编程新手,F#是我的第一语言.
以下是我的代码的相关部分:
let rec splitArrayIntoGroups (inputArray: string[]) (groupSize: int) (hashSetOfGroups: HashSet<string[]>)=
let startIndex = 0
let endIndex = groupSize - 1
let group = inputArray.[startIndex .. endIndex]
let nextInputArray = inputArray.[groupSize .. inputArray.Length - 1]
hashSetOfGroups.Add(group) |> ignore
splitArrayIntoGroups nextInputArray groupSize hashSetOfGroups
let hashSetOfGroups = new HashSet<string[]>()
splitArrayIntoGroups urlArray 10 hashSetOfGroups
Run Code Online (Sandbox Code Playgroud)
urlArray是一个包含近3200个URL的数组.
当我尝试在F#interactive中运行代码时,收到以下错误消息:
Program.fs(119,1):错误FS0030:值限制.值'it'被推断为具有泛型类型val:'_ a将'it'定义为一个简单的数据项,使其成为具有显式参数的函数,或者如果您不打算将其作为通用类型,则添加一个类型注释.
出了什么问题,我应该做出哪些改变?
我正在使用Visual Studio 2017。
每当我按下F5开始调试程序时,我都会注意到该类Main(string[] args)内部的方法Program没有被调用,即使内部的字段Program已初始化,您也可以从下面的屏幕截图中看到:
创建TcpClient实例并将其分配给相应的字段后,调试器再也不会达到我在Main(string[] args)方法上设置的断点。
可以肯定的是,我已将项目的启动对象设置为Program类。那没有解决问题:
我想念什么?
编辑:
我已经Console.WriteLine("Entering Main method...")在Main方法中添加了内容,但是当我开始调试时它不会被打印到控制台中。
从字面上看,在TcpClient创建实例之后,什么也没有发生(或者说,没有立即可见的东西)。该程序不会自行终止;控制台保持空白。
编辑:
事实证明,TcpClient构造函数内部发生崩溃。
我是F#的新手.这是我的第一个函数式编程语言.
我想写一个算法来计算两个相等长度的弦之间的汉明距离.如何在F#中这样做?任何由伪代码组成的例子都将非常感激.
据我所知,已经有一个问题在这里问的是完全相同的错误消息,但不幸的是,公认的答案并不为我工作.
我能够在今天早上成功构建我当前的解决方案,但是〜15分钟前构建突然失败,并显示以下错误消息:
C:\ Program Files(x86)\ MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5):警告MSB3245:无法解析此引用.找不到程序集"MyAssembly.dll".检查以确保磁盘上存在程序集.如果您的代码需要此引用,则可能会出现编译错误.
不幸的是,我的代码需要这个DLL.因为无法找到它,我的解决方案将无法编译.
我已经尝试过清洁然后再次构建我的解决方案,但这没用.
我注意到此引用旁边有一个黄色图标,所以我删除了引用,然后从<HintPath>我.csproj文件中标记内指定的完全相同位置再次添加它.(位置是\bin\Debug文件夹.)然后黄色图标消失.
但是,在我单击"构建解决方案"(在模式下)后,立即Debug再次出现黄色图标,我再次看到相同的MSBuild错误消息,通知我无法找到DLL.
我该如何解决这个问题?