我有几个带标题的页面,我希望能够在某种枚举类型中将这些标题定义为字符串常量。这样用于分组常量的F#结构
pageTitles =
| HOME = "Home"
| SALES = "Sales"
| MARKETING = "Marketing"
| LOGOUT = "Logout"
,然后一些使用它像:
if title = pageTitles.SALES then
//Goto sales
我有几个带标题的页面,我希望能够在某种枚举类型中将这些标题定义为字符串常量。这样用于分组常量的F#结构
pageTitles =
| HOME = "Home"
| SALES = "Sales"
| MARKETING = "Marketing"
| LOGOUT = "Logout"
,然后一些使用它像:
if title = pageTitles.SALES then
//Goto sales
我认为你必须把它们放在一个模块中。例如:
module pageTitles =
[<Literal>]
let HOME = "Home"
...
值得一提的是,`Literal`属性可以在模式匹配中使用常量。 (否则你就不需要它了。)我也推荐使用`PascalCase` - 肯定用于模块名称,也可能用于常量。 – 2011-02-03 21:13:27
组合丹尼尔/托马斯建议:
module PageTitles =
[<Literal>]
let HOME = "Home"
[<Literal>]
let SALES = "Sales"
...
open PageTitles
...
match title with
| HOME -> // goto home
| SALES -> // goto sales
你在做什么似乎是做正确的事。你的问题到底是什么?你问是否有其他的方法? – dexter 2011-02-03 21:00:03