我有一个类的赋值,它要求我clock_time使用两个必需的,讲师定义的空函数将一个类对象转换为一个字符串:to_string() 和一个重载的<<运算符.我无法让它工作,我不确定为什么.
clock_time::clock_time(int h, int m, int s)
{
set_time(h, m, s);
}
void clock_time::set_time(int h, int m, int s)
{
_seconds = h * 3600 + m * 60 + s;
}
string to_string(clock_time c)
{
ostringstream ss;
ss << c;
return ss.str();
}
ostream& operator<<(ostream &out, clock_time c)
{
out << to_string(c);
return out;
}
Run Code Online (Sandbox Code Playgroud) 如何实现一个函数,将列表中的每个元素乘以另一个列表中的相应元素?例如,给定列表[1, 2, 3]和[4, 5, 6]返回[4, 10, 18]?我的代码如下:
calcArea :: [Int] -> [Int] -> [Int]
calcArea length width = length * width
Run Code Online (Sandbox Code Playgroud) 我正在编写一个函数,parseArgs它将以列表的形式接受命令行参数.如果列表的大小是2,则该函数将解析列表的内容并将其转换为元组,否则返回Nothing.我不确定如何解决这个问题; 到目前为止,我的代码如下:
parseArgs :: [String] -> Maybe (String, Maybe String)
parseArgs [x, y]
| length [x, y] < 2 = Nothing
| length [x, y] > 2 = Nothing
| otherwise = Just (x, Just y)
Run Code Online (Sandbox Code Playgroud) 是否有可用于获取给定当前列和行的索引的公式?以下是我到目前为止所拥有的。然而,问题是代码只适用于第一行......
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
index = i * (columns - 1) + j;
}
}
Run Code Online (Sandbox Code Playgroud) 我在Haskell中遇到过以下内容:foldl (&&) True [False | _ <- [1..]].我知道foldl函数做了什么,这个表达式涉及无限递归,但这个表达式实际意味着什么?我主要不确定在这种情况下做什么|和<-做什么.
我试图zipWith通过zip和map函数实现该函数,但是我收到的错误是:"错误:解析错误输入'::'我的代码在下面,而且我不确定我做错了什么
zipWith` :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith` f x y = zip x $ map f y
Run Code Online (Sandbox Code Playgroud) haskell ×4
c++ ×2
list ×2
syntax ×2
class ×1
overloading ×1
parsing ×1
syntax-error ×1
tuples ×1