我正在我的Elm 0.18前端解析来自我的服务器(Phoenix 1.3)的http响应。
响应如下:
errorCode : String -> String
errorCode =
error
|> Debug.log "error"
|> toString
|> String.split "code = "
|> List.drop 1
|> String.join ""
|> String.split ","
|> List.take 1
|> String.join ""
|> Debug.log "Error"
我想将三位数HTTP代码解压缩为String ....在本例中为“422”。
在榆树中解析这个问题的最佳方法是什么?我正在使用一种非常hacky的方法,我想知道这里最适用的工具。
#include <iostream>
#include <cstdint>
int main()
{
uint32_t first = 5;
uint32_t second = 6;
uint64_t combined = (uint64_t(first) << 32) | second;
uint32_t firstR = combined >> 32;
uint32_t secondR = combined & 0xffffffff;
std::cout << "F: " << firstR << " S: " << secondR << std::endl;
}
答案 0 :(得分:2)
看起来您elm-lang/http
包中有Error
。你引用的字符串就是Error
在控制台/调试器中呈现为字符串的方式,我相信 - 我认为没有任何解析可以这样做。
换句话说,我认为您想要的功能根本不会在String
上运行:
errorCode : Error -> Maybe String
errorCode err =
case err of
BadStatus response ->
Just response.status.code
_ ->
Nothing
(榆树编译器当然应该告诉您String -> String
或我的Error -> Maybe String
签名是否正确。)