在Crystal Lang中处理JSON::Any中的NIL问题

使用Crystal开发时的一个挑战是,它对数据类型的宽容度不如Python或Ruby,nil会让你忙得不可开交。下面的错误信息:从Nil到String的转换失败,在/usr/share/crystal/src/json/any.cr:220:5:220可以通过以下方式解决。# cast to string, THEN check if it is nil if...

更多内容

如何使用Kemal的所有路线?

对于Vue.js的单页应用--至少在我们页面的SUB URL上--我们希望在服务器上有一个catch all,它将始终向浏览器呈现相同的模板/HTML输出。Kemal在内部是基于Radix的路由:https://github.com/luislavena/radix Radix有一个Catch All / Glob字符:...

更多内容

mongo_orm集合的自定义名称

mongo_orm会通过使用模块和类的名称,并附加一个 "s "来自动确定你的集合的名称。在你想命名你的集合的情况下,你可以简单地这样做: class PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "I want...

更多内容

异常情况。在1:2处有意外的引号(CSV::MalformedCSVError) Crystal

在试图解析一个亚马逊支付文件时,我偶然发现了这个特殊的问题:异常。在1:2处出现了意外的报价(CSV::MalformedCSVError),原因是。亚马逊支付的文件是用UTF-8编码的,带有BOM。BOM是一个可选的(在UTF-8文件中)标记。你可以用工具xxd查看,例如xxd apolish_amazon_2018DecMonthlyTransaction.csv | less The...

更多内容