我正在使用TypeScript处理Web应用程序.对于应用程序的某些部分,我想定义一个指定某些方面的简单配置文件(例如调色板).
我该如何创建这样的配置文件?在JavaScript中,config.js
在HTML代码中创建和引用它是一个非常简单的解决方案.什么是TypeScript的最佳解决方案?也许一个单独的Config.ts
文件?
我目前正在使用扫描仪和分析程序,需要一个接受ASCII字母字符的解析器 - 所以我不能使用char.isLetter
.
我自己想出了两个解决方案.我不喜欢他们两个.
def letter = elem("ascii letter", _.toString.matches("""[a-zA-Z]"""))
Run Code Online (Sandbox Code Playgroud)
使用正则表达式来检查这么简单的事情似乎相当"过度".
def letter = elem("ascii letter", c => ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z'))
Run Code Online (Sandbox Code Playgroud)
在我看来,这将是Java的发展方向.但它不是真的可读.
是否有一个更清洁,更像Scala的解决方案来解决这个问题?我并不担心性能,因为在这种情况下无关紧要.
我正在编写一个扩展的类,Scanners
迫使我定义类型Token
:
object MyScanner extends Scanners {
type Token = ...
}
Run Code Online (Sandbox Code Playgroud)
问题是我的令牌类本身被调用Token
:
abstract class Token(...)
case class Literal(...)
...
Run Code Online (Sandbox Code Playgroud)
它是在斯卡拉在某种程度上可以定义类型Token
的Scanners
,以我的Token
课吗?
type Token = Token
显然不起作用.
我也尝试使用整个包名(以...开头main.scala
),如下所示:
type Token = main.scala....Token
Run Code Online (Sandbox Code Playgroud)
这是另一个名称冲突,因为我在main
里面定义了一个函数MyScanner
.
我目前的解决方案是重命名我的令牌类.还有另一个我可以保留初始名称吗?