3

我刚刚发现了 Chapel 的配置变量修饰符,它非常适合命令行操作。是否有其他语言或框架可以模仿此功能,因此我不必每次都对过滤器进行编程?

4

1 回答 1

2

的宽度config-s 确实是无与伦比的:

config var   VAR  = 1;         //  --VAR=10         sets other value from cmdline
                               //  --VAR 20         sets other value too
config const RHO  = 1.23456;   //  --RHO=0.123456   sets other value from cmdline
                               //  --RHO 0.2468     sets other value too
                               //  --RHO=0.39*VAR   sets other value for COMPILER
                               //                                    based on VAR
config param DBG  = false;     // -s DBG=true       sets other value from cmdline
config type  B    = uint(8);   //    -sB='uint(16)' sets other value from cmdline
                               //    -sB='if DBG then uint(32) else uint(16)'
                               //                   sets other value for COMPILER
                               //                                    based on DBG

虽然还必须有一个编译时已知的类型,这是一个特定的限制(对于强类型的编译语言,既明显又自然),仍然可以灵活地使用这些构造来临时设置自适应运行时可配置行为非常好,很难在其他语言/编译器环境中并行。

于 2017-07-27T16:53:06.230 回答