我有一个辅助功能,可以将分钟变成几小时/分钟.我目前在layout.cshtml中有它,但每个页面都看不到该功能.我应该在哪里放置辅助功能,以便每个页面都可以看到它?
@helper DisplayElapsedTime(int timeInMins){
String timeStr = "";
if (timeInMins >= 60) {
int hours = timeInMins/60;
timeInMins -= hours * 60;
timeStr = hours + "h ";
}
if (timeInMins > 0){
timeStr += timeInMins + "m";
}
@timeStr;
}
Run Code Online (Sandbox Code Playgroud) 我试图从C++中理解辅助函数The C++ Programming Language by Bjarne Stroustrup.但是这本书没有解释任何关于它的内容以及在课堂上使用它的目的.我尝试在网上搜索它并发现了这一点.我有它的要点,但仍然不清楚辅助函数的真正目的是什么,何时我应该使用它们,总的来说,什么是辅助函数?
在函数式编程中,将任何"循环"代码优化为尾递归通常很重要.尾递归算法通常在两个函数之间分开,但是 - 一个用于设置基本情况,另一个用于实现实际循环.一个好的(尽管是学术的)例子是反向功能.
reverse :: [a] -> [a]
reverse = reverse_helper []
reverse_helper :: [a] -> [a] -> [a]
reverse_helper result [] = result
reverse_helper result (x:xs) = reverse_helper (x:result) xs
Run Code Online (Sandbox Code Playgroud)
"reverse_helper"并不是一个很好的描述性名称.但是,"reverse_recursive_part"只是尴尬.
你会对这样的帮助函数使用什么命名约定?
haskell functional-programming naming-conventions helper-functions
在模块中,我应该使用一个,两个或没有下划线表示一个辅助功能的用户应该不叫?