一、起因:match error

比如,我们有一个函数,fun(data::Dic{AbstractString,Float64},Float64) , 但是,实际上,我们传进去的参数格式是Dict{ASCIIString,Float64}类型,就会报match error.

事实上:

我们知道:

ASCIIString<:AbstractString   #  => true

但是:

Array{ASCIIString,1}<:Array{AbstractString,1} # =>false

Dict{ASCIIString,Float64} <: Dict{AbstractString,Float64}   # => false

二、建议

所以在写函数的格式和输入格式时,一定要注意签名格式的一致,否则容易报错,而且容易一下找不出问题所在。

建议

(1) 数据入口:函数的参数的类型,尽量从宽

如, 以下函数要适用AbstractString 的可能子集做KEY, 可以更加规范一下,增加适用性。

#比如:  对weights

function indexmake{T<:AbstractString}(data::Dict{Dates.Date,Dict{AbstractString,Array{kBarData,1}}},weights::Dict{T,Float64})

# content

#

end

(2) 数据出口:对于返回类型,尽量不要返回从宽的类型,

如,

fun getData(data:Float64)

return Dict{ASCIIString,Float64}() ; # 尽量不要返回Dict{AbstractString,Float64} 类型,类型过宽。

end

另外,至于自定义类型的数据,可以从宽,问题不大.如果考虑速度,最好还是用具体类型而不是抽象类型。

type data {T<:AbstractString}

name:: T

end

Julia : 关于类型的匹配和规范建议相关推荐

  1. 调用COM控件的时候(例如访问数据库)出现类型不匹配。

    COM规范中,所有的变量类型对于C语言来说只有一种:VARIANT. 如果我们想从数据库里面取出一个long类型的值,或者说COM控件需要返回给我一个值,都要通过VARIANT完成. 例如 CComQ ...

  2. 【WORD文档部分消失】元素结束标记中的名称必须与开始标记中的元素类型相匹配

    [WORD 出错无法打开]元素结束标记中的名称必须与开始标记中的元素类型相匹配_yezizhangxinya的博客-CSDN博客_元素结束标记中的名称必须与开始标记的元素类型相匹配使用工具 Rebui ...

  3. Windows客户端C/C++编程规范“建议”——前言

    前言 工作中接触了很多编程规范.其中最有意思的是,公司最近发布了一版C/C++编程规范,然后我看到该规范的最后一段时,有这么一句:"该规范不适用于Windows平台开发".看来这份 ...

  4. Codeigniter文件上传类型不匹配错误

    Codeigniter的文件上传类方便了我们使用PHP来处理文件上传的操作,使用起来非常简单,如下: $config['upload_path'] = './uploads/'; $config['a ...

  5. 来自Mozilla的CSS书写规范建议

    一个来自Mozilla的CSS书写规范建议,希望对大家有帮助 引用内容 //显示属性 display list-style position float clear //自身属性 width heig ...

  6. ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:...

    昨天当一个客户告诉我,登录后看不到图片的时候,我还不相信,因为我的浏览器测试发现一切正常. 通过QQ远程协助后,我才发现服务器端真的报错: Microsoft VBScript 运行时错误 (0x80 ...

  7. 【转】Android编码规范建议18条

    转自:http://www.chinaz.com/design/2015/0908/443732.shtml Android编码规范建议18条 适合手机app设计师和android 工程师阅读. 1. ...

  8. sscanf函数中类型不匹配警告引发的BUG和思考

    2019独角兽企业重金招聘Python工程师标准>>> BUG产生背景 项目开发中的在对网络的IP等地址进行协议封装的处理过程中,我使用了如下的一段代码: buff[0] = con ...

  9. IE9 CSS 因 Mime 类型不匹配而被忽略“问题

    写页面的时候在chrome,fireforks等页面上显示正常,但是换成IE9之后就完全没有样式了.IE真是个奇葩的怪胎.它的报错信息是'CSS 因 Mime 类型不匹配而被忽略',也就是说所有的.c ...

  10. oracle类型不匹配,sys_refcursor的使用,报错类型不匹配

    ---------------------------------------------------------------------------------------------------- ...

最新文章

  1. Android UI滑动加载源码
  2. C语言中不安全的函数
  3. 【SNN脉冲神经网络】SNN脉冲神经网络的工作原理演示MATLAB仿真带GUI界面
  4. wxWidgets:显示如何从 DLL 使用 wx 的示例
  5. rest post put_REST / HTTP方法:POST与PUT与PATCH
  6. 计算机电子线路制图是学啥的,电气制图与电子线路CAD课程教学大纲.doc
  7. 如何将照片中的文字转变成可编辑的文章(如何将书上的文字转变为可编辑的文字)
  8. PDF转Word软件
  9. 计算机表格快捷键,EXCEL表格所有的快捷键《excel一键到底 快捷键》
  10. 6. LaTeX 参考文献的排版与引用
  11. 基于MATLAB的极限与求导(附完整代码)
  12. 上海迪士尼乐园推出全新夜间演出;咖世家在中国推出风味冷萃系列即饮咖啡 | 美通企业日报...
  13. Cacti之交换机端口无法正常显示
  14. 50部青春励志微电影致我们不朽的青春理想
  15. Buy and Resell(贪心好题!)
  16. html5 光线流光效果,HTML5 CANVAS 漂亮的流光线性花形图案动画
  17. MATLAB小技巧(9) 图片合成视频与视频分帧
  18. 微信小程序调用地图和跟据经纬度打开手机地图导航
  19. 浅谈const和constant(常量)
  20. Python入门(二)之Python的集成开发环境(IDE)

热门文章

  1. 条款40:慎重的选择多重继承
  2. 【发现趣味】要你命三千——老代码中的那些坑
  3. Windows基本磁盘结构简析(二)——MBR结构分析
  4. ssh框架的构成分析和代码构架小结 .
  5. Linux启动时 Error 15: File not found 问题解决方法
  6. 经典C语言学习教程资料
  7. 报错:非介入式客户端验证规则中的验证类型名称必须唯一。下列验证类型出现重复...
  8. 使用Quartz.Net定时删除Log
  9. decodeURI decodeURIComponent
  10. Win7 下面升级VS2017 vs_community install Microsoft.Windows.D3DCompiler.Msu.Win7