小编Dan*_*ton的帖子

可以在Yesod的消息文件中添加注释或HTML标签吗?

Yesod的内置i18n消息文件非常好,但我注意到两个问题:

  1. 它似乎不允许评论.这些对于为翻译提供翻译(或提醒自己)的上下文非常有帮助.我错过了评论语法吗?
  2. <和>字符是HTML转义的.这可以防止将诸如<em>之类的HTML的简单位添加到消息中.除了在.hs文件中编写消息之外,还有一种解决方法吗?

谢谢你的任何建议!

haskell internationalization yesod

4
推荐指数
1
解决办法
190
查看次数

列出 Haskell 类型的构造函数名称?

conNameOf允许我显示给定数据的构造函数名称,假设该类型是Generic.

我想要的是类似的东西。对于给定的类型,我想获取构造函数名称的完整列表。例如:

data Nat = Z | S Nat
  deriving (Generic)

-- constrNames (Proxy :: Proxy Nat) == ["Z", "S"]
Run Code Online (Sandbox Code Playgroud)

类似的东西constrNames存在吗?如果没有,我该怎么写?

reflection haskell

4
推荐指数
1
解决办法
95
查看次数

Drupal模块嵌套菜单项

在为模块实现hook_menu时,我试图将一些项目放入子菜单中.

到目前为止,我有类似的东西

$items['MyModule'] = array(
  //...
  'page callback' => 'system_admin_menu_block_page',
  'file' => 'system.admin.inc',
  'file path' => drupal_get_path('module','system'),
);

$items['MyModule/MenuItem1'] = array(
  //...
);

$items['MyModule/SubMenu'] = array(
  //...
  'page callback' => 'system_admin_menu_block_page',
  'file' => 'system.admin.inc',
  'file path' => drupal_get_path('module','system'),
);

$items['MyModule/SubMenu/SubMenuItem1'] = array(
  //...
);
Run Code Online (Sandbox Code Playgroud)

我希望它SubMenu显示为菜单的子MyModule菜单,并SubMenuItems显示在该子菜单下.这是Drupal API文档中描述的默认行为.

  • MyModule的
    • MenuItem1
    • 子菜单
      • SubMenuItem1

但是,所有项目都显示在MyModule菜单下.

  • MyModule的
    • MenuItem1
    • SubMenuItem1
    • 子菜单

我究竟做错了什么?

*编辑:一个错字(我已修复)导致SubMenu是一个单独的元素而不是一个子元素MyModule.不过,我仍然不明白为什么SubMenuItem1不渲染下SubMenu.

drupal module menu submenu

3
推荐指数
1
解决办法
5296
查看次数

窗口对象上的javascript函数在被调用时会替换该窗口的内容吗?(有时??)

由于这里不应该枚举的原因,我发现将函数附加到窗口对象可能是有用的.但是,我发现了相当奇怪的行为.

<html><head><script>
function sideEffect() { console.log("Side effect happened. Wewt."); }
window.foo = function() {
    sideEffect();
    return true;
}
window.bar = function() {
    sideEffect();
}
</script></head>
<body>
<a href="javascript:window.foo();">Replaces entire window with "true"</a>
<br />
<a href="javascript:window.bar();">Doesn't</a>
</body></html>
Run Code Online (Sandbox Code Playgroud)

为什么调用具有返回值的函数决定替换窗口的内容?这种情况发生在Firefox和Opera中,但不适用于IE9,Chrome或Safari(均在Win7上测试过).

所以问题是:是否有某种文档指定了这种行为?或者这是FF/Opera中的(已知)错误?


[编辑]有趣的是(根据答案和评论,因此很多)似乎滥用window对象是一个红鲱鱼在这里.

javascript window function return-value

3
推荐指数
1
解决办法
1万
查看次数

Haskell中的函数

我是函数式编程的新手.我有一个基本问题.

我正在使用Hugs翻译,

我想在Haskell中编写一个函数; 我去了几个教程,但我没有得到它.

fact :: Int -> Int
fact n = if n == 0 then
1
else
n * fact (n-1)
Run Code Online (Sandbox Code Playgroud)

这给了我一个语法错误:-S

ERROR - Syntax error in input (unexpected `=')
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming syntax-error hugs read-eval-print-loop

3
推荐指数
1
解决办法
2450
查看次数

Haskell列表理解

sum1::[Int]->[Int]
sum1 [] =0
sum1 (x:xs) = [x|x<-xs,x `mod` 2 ==0]
Run Code Online (Sandbox Code Playgroud)

我需要返回在提供列表时可被2整除的数字,但上面的代码给出了这个编译错误:

 Instance of Num [Int] required for definition of sum1
Run Code Online (Sandbox Code Playgroud)

还请解释一下(x:xs).它是' xs list 的X元素吗?'

如果我们想获得列表的第n个元素,我们如何得到它?

haskell

3
推荐指数
1
解决办法
4653
查看次数

clojure.test.check生成两个整数,一个比另一个小

我想写一个如下属性:

(prop/for-all [x (gen/nat)
               y (gen/nat)]
  (= (g x y) (f x y)))
Run Code Online (Sandbox Code Playgroud)

但是,该物业仅在何时持有x > y.表达此属性的前提条件的正确方法是什么?(更好的是,我怎么能写出这个属性,这个属性y生成的自然数小于x?)

clojure quickcheck property-based-testing

3
推荐指数
1
解决办法
267
查看次数

扩展自定义记录类型的"名称"

我有一个记录,包括一个:name.有没有办法告诉clojure.core/name如何:name从我的记录中提取出来?

clojure

3
推荐指数
1
解决办法
78
查看次数

Haskell中列表的递归

例如,我有一个像['a','b','c','d','e']这样的列表.
我想做这样的事情:
首先用前两个元素做一些事情,f'a''b'
然后用f的返回值和列表中的下一个元素做同样的事情,结果= f'a''b ',让我们说像结果'c'.然后f得到(结果'c')'d',依此类推.
我该怎么做这样的事情?

recursion haskell list fold

2
推荐指数
1
解决办法
2660
查看次数

在Haskell中,如何在Dynamic TypeRef上执行case语句

我尝试了以下方法:

intType =  typeOf (5::Int)
stringType = typeOf "s"

dynFunc :: Dynamic -> IO ()
dynFunc d =
  case dynTypeRep d of
    stringType -> polyFunc ((fromDyn d "") :: String)
    intType -> polyFunc ((fromDyn d 0) :: Int)
    _      -> error "Could not coerce dynamic value"
Run Code Online (Sandbox Code Playgroud)

但它警告重叠模式匹配并且不能正常工作.它始终是第一个模式而不是正确模式.

haskell types dynamic pattern-matching case-statement

2
推荐指数
1
解决办法
395
查看次数