ReasonML(https://reasonml.github.io/)和TypeScript(https://www.typescriptlang.org/)之间有什么权衡?
我在StackOverflow 看到了这个ReasonML vs TypeScript问题,现在我想知道ReasonML和Elm如何相互比较.
他们有什么相似之处和不同之处?我应该在哪个时候使用?一个优于另一个的优势是什么?
我对ReactJS很有经验,现在我正在努力学习ReasonML.但是我一直在努力理解的一件事是如何使用React/Reason导入npm包.
我不清楚网站上的说明(https://reasonml.github.io/guide/javascript/interop/).
那么,如果我有一个React/Reason项目并且想要使用npm包,我该怎么办呢?如何使用Reason lang导入它?
Reason ML优于JavaScript的一个优点是它提供了Map一种使用结构相等而不是引用相等的类型.
但是,我找不到这个用法的例子.
例如,我如何声明一个scores字符串映射到整数的类型?
/* Something like this */
type scores = Map<string, int>;
Run Code Online (Sandbox Code Playgroud)
我将如何构建一个实例?
/* Something like this */
let myMap = scores();
let myMap2 = myMap.set('x', 100);
Run Code Online (Sandbox Code Playgroud) 一段时间的密集搜索为我提供了一些示例,其中人们在一个代码中使用两种类型的运算符,但通常它们看起来就像两种做某件事的方式,甚至具有相同的名称
我是OCaml的新手,我经常建议我使用Jane Street的标准库而不是编译器附带的标准库.
然而,似乎有甚至几个的那些,我不知道我应该使用:
任何人都可以快速总结一下这些(也许与电池等)之间的区别,或者何时以及为什么我应该选择其中一个?
我知道在OCaml中,可以创建一个类来执行以下操作:
class stack_of_ints =
object (self)
val mutable the_list = ( [] : int list ) (* instance variable *)
method push x = (* push method *)
the_list <- x :: the_list
end;;
Run Code Online (Sandbox Code Playgroud)
但是,我一直在努力寻找有关如何在Reason中执行此操作的文档.谢谢.
我是OCaml的新手,我正试图尝试(:P)Facebook Reason语法.我无法找到一种方法来进行编译,因为如果找不到Core模块(已经安装了opam).
我正在尝试从Real World OCaml编译一个示例程序
open Core.Std;
let rec read_and_accumulate accum => {
let line = In_channel.input_line In_channel.stdin;
switch line {
| None => accum
| Some x => read_and_accumulate (accum +. Float.of_string x)
}
};
let () = printf "Total: %F\n" (read_and_accumulate 0.);
Run Code Online (Sandbox Code Playgroud)
这是我用于编译的命令:rebuild accum.native.
当我有这个_tags(来自https://janestreet.github.io/installation.html中的说明)
true: package(core,ppx_jane)
true: thread,debug
Run Code Online (Sandbox Code Playgroud)
我的错误发生了变化,但我仍然不知道该怎么做:
File "_tags", line 1, characters 6-28:
Warning: tag "package" does not expect a parameter, but is used with parameter "core,ppx_jane"
File "_tags", …Run Code Online (Sandbox Code Playgroud) 我有以下文件夹结构
--| button
--|--| button.re
main.re
Run Code Online (Sandbox Code Playgroud)
在我的bsconfig.json,使用此处的快速入门指南.我在配置中有以下键/值:
"sources": [
"src/"
]
Run Code Online (Sandbox Code Playgroud)
它只针对main.re文件.我尝试了一些传统的配置选项*.re,但无济于事.如果我想定位所有子目录,我该怎么做?谢谢.
因此,通过阅读 facebook 选择 OCaml 来创建 Reason 的原因,我无法停止注意到 Scala 也满足所有要求。我没有任何偏见,我知道 Scala,但我不是一个顽固的 Scala 拥护者。我只是喜欢一个很好的类型系统,所以在这一点上,我发现在我的下一个项目中很难在这两者之间做出选择。那么这里真正的权衡是什么?
reason ×10
ocaml ×5
bucklescript ×4
dictionary ×1
elm ×1
ocaml-core ×1
ocamlbuild ×1
oop ×1
pipeline ×1
reasonml ×1
scala.js ×1
typescript ×1