2017-05-25 48 views
0

有问题要弄清楚为什么我可以在F#单元测试执行该代码如何进行单元测试在F#使用字典无法

// testing the dictionary method 
    let callStatus = dict[ 
     "busy", "Monday"; 
     "quite", "Tuesday"; 
     "okay", "Friday"; 
     "ok", "Wednesday"; 
    ] 

    Assert.AreEqual(("Wednesday",callStatus.['ok'])) 

我得到的错误是无与伦比的“[”,这是没有意义的控制台应用程序中的相同代码正常工作。

任何支持将不胜感激。

+2

“ok''看起来不应该是”ok“吗? –

+0

正确它应该是,似乎已解决问题 – Wazzie

回答

1

这是行正确的:

Assert.AreEqual(("Wednesday",callStatus.['ok'])) 

它不应该是

Assert.AreEqual("Wednesday",callStatus.["ok"]) 

UPDATE:

加双引号为好。

2

不知道如何,但似乎与“”错误替换“”单引号消失

// testing the dictionary method 
let `` testing diction ``() = 

    let callStatus = dict[ 
     "busy", "Monday"; 
     "quite", "Tuesday"; 
     "okay", "Friday"; 
     "ok", "Wednesday"; 
     ] 

    Assert.AreEqual("Wednesday",callStatus.["ok"]) 

如果有人能仔细检查我是正确的,我会很感激这是我一个新手。

+3

单引号是char文字,双是字符串。 –