是否有一个库函数可将十六进制数字(0-F)转换为其等效的四位数二进制值?例如9 = 1001,C = 1100。
我已经看过Data.Hex,Data.HexString,Numeric和其他几个相关的库,并且我假设我可以找到想要的函数。但是,我对Haskell还是很陌生,可能忽略了一些简单的事情。
编辑:不是重复的,IMO。我的问题是关于直接从十六进制转换为二进制的问题,链接的问题(及其答案)没有提及。
我需要创建或知道Haskell中是否有一个函数允许您从列表中添加项目.所以,例如:
cumulativeAmount :: [Integer] -> [Integer]
cumulativeAmount [1,2,5,8,8,0,4,2] = [1,3,8,16,24,24,28,30]
cumulativeAmount [1,4,7,0,5] = [1, 1+4, 1+4+7, 1+4+7+0, 1+4+7+0+5] = [1,5,12,12,17]
Run Code Online (Sandbox Code Playgroud)
我尝试使用map和scanl函数,但我没有得到我想要的东西,因为我添加了所有元素.
在 ColdFusion 中,在查询 MSSQL 数据库并使用QueryAddRow函数添加几行后,我需要通过执行查询的查询来重新排序查询。我需要的顺序要求我在 ORDER BY 子句中使用 CASE 表达式,如下所示:
<cfquery name="newquery" dbtype="query">
SELECT * FROM query
ORDER BY
CASE
WHEN var LIKE 'All' THEN 'Zz'
WHEN var LIKE '9%' THEN '0'
ELSE var
END, year
</cfquery>
Run Code Online (Sandbox Code Playgroud)
这会返回一个错误:Error Executing Database Query. Caught an exception, type = Database。我还尝试使用QueryExecute。
如果我直接查询数据库,查询工作得很好,所以当我尝试执行查询的查询时,我只会收到错误。如果我删除 CASE 表达式并只执行(...) ORDER BY var, year查询的查询也可以正常工作,所以在我看来,CASE 在查询的查询中是不可能的。这是正确的吗,或者我应该能够以某种方式使用 CASE 吗?
这是我需要重新排序的结构(添加三行后)。显然我已经删除了与当前问题无关的所有列。
year | var
2001 | 9-12
2002 | 9-12
2003 | 9-12
2001 | 12+ …Run Code Online (Sandbox Code Playgroud)