我正在尝试创建一个可以打印任何类型的打印语句.我想使用类型模式匹配来实现这一点.
这不起作用:
let print x = match x with | :? int -> printf "INT"; | _ -> None;;
Run Code Online (Sandbox Code Playgroud)
我收到消息:
让print x =将x与|匹配 :?int - > printf"INT"; | _ - >无;;
----------------------------- ^^^^^^stdin(47,30):错误FS0008:从类型'a到int的运行时强制或类型测试涉及基于此程序点之前的信息的不确定类型.某些类型不允许运行时类型测试.需要进一步的类型注释.
那么,我不能在int上进行类型匹配?我不能做什么其他类型的匹配?什么意思需要进一步的类型注释?
对于流式传输,HLS (HTTP) 比 UDP 更快吗?
HLS 定义: http: //en.wikipedia.org/wiki/HTTP_Live_Streaming#Clients
UDP 定义: http: //en.wikipedia.org/wiki/User_Datagram_Protocol
HTTP 定义:http: //en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
此代码传入一个函数,并没有继承我的EmployeesController对象的状态.如何将EmployessController对象绑定到焦点事件?
class @EmployeesController
constructor: (@dateInput) ->
@dateInput.focus(@searchInputGainedFocus)
searchInputGainedFocus: ->
console.debug @dateInput
Run Code Online (Sandbox Code Playgroud)
换句话说,当我给出dateInput焦点时,console.debug打印undefined.
我在C#中有一个看起来像这样的测试:
public void CanLog()
{
ModUnderTest.Log.Info("HI");
}
Run Code Online (Sandbox Code Playgroud)
此C#代码抛出一个Null Reference异常,表示ModUnderTest.Log在测试中为null.这是测试中的代码:
module ModUnderTest
let Log = log4net.LogManager.GetLogger("name")
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?它编译很好但在运行时失败.
由于F#记录确实是密封类,我不能存根记录类型.是否有一个属性我可以放在F#中的记录,以便它不被编译为密封,以便我可以存根记录?
type Quote = {a:string}
mock<Quote>
Run Code Online (Sandbox Code Playgroud)
这个抛出
System.TypeLoadException:无法从程序集"DynamicProxyGenAssembly2,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null"加载类型"Castle.Proxies.QuoteProxy",因为父类型已被密封.
如果你很好奇.这是mock的定义:
let mock<'typee when ^typee : not struct> = Substitute.For<'typee>()
Run Code Online (Sandbox Code Playgroud) 给定一个带有两个参数的函数:
let f (a:int) (b:int) : string = sprintf "%d %d" a b
Run Code Online (Sandbox Code Playgroud)
以及元组列表:
let myList = [(1,2) ; (3,3)]
Run Code Online (Sandbox Code Playgroud)
如何(||>)使用地图部分应用元组运算符?
myList |> List.map ((||>) f) //doesn't work
myList |> List.map (fun x -> (||>) x f) //boring
Run Code Online (Sandbox Code Playgroud)
似乎我需要反转需要的论据||>.
我遇到了一个奇怪的问题.我构建了一个mysql数据库,用户可以通过应用程序存储他的联系人.他只需点击按钮即可添加联系信息.然后,将数据添加到数据库中.
但是,当联系人的信息在其名字,姓氏或号码之间有空格时,应用程序拒绝接受数据.我没有收到错误消息或类似的东西,但我也没有得到任何确认.该记录在数据库中不存在.
我的php文件没有问题(文件肯定是正确的,我在这里检查了两次).这是我的代码:
NSString *strURL = [NSString stringWithFormat:@"http://www.abc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSLog(@"%@", strResult);
Run Code Online (Sandbox Code Playgroud) 咖啡脚本是否懒惰评估?如果是这样,我可以用功能方式编写coffeescript吗?
f# ×4
coffeescript ×2
contacts ×1
database ×1
ios ×1
javascript ×1
jquery ×1
mysql ×1
nsubstitute ×1
space ×1
unit-type ×1