我正在使用最新版本的Play!构建应用程序.在定义Finder时(如在Model.Finder中),我的IDE给了我一个警告Finder已被弃用.我在文档中找不到任何关于Model.Finder被弃用的任何替代使用它的信息.有没有人遇到类似的问题,并知道另一种选择?
我是Clojure的新手.在试验它时,我写了一个函数来计算n!.我的Clojure代码如下:
(defn factorial
[n]
(reduce * (biginteger 1) (range 1 (inc n))))
Run Code Online (Sandbox Code Playgroud)
然后我在repl中运行以下内容.
(time (factorial 100))
Run Code Online (Sandbox Code Playgroud)
这就是结果:
"Elapsed time: 0.50832 msecs"
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000N
Run Code Online (Sandbox Code Playgroud)
然后我在Ruby中创建了一个类似的解决方案
def factorial(n)
start = Time.now.to_f
(2..n).inject(1) { |p, f| p * f }
finish = Time.now.to_f
time_taken = finish - start
puts "It took: #{(time_taken * 1000)} msecs"
end
Run Code Online (Sandbox Code Playgroud)
与irb我跑了factorial(100)
结果:
It took: 0.06556510925292969 msecs
=> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
Run Code Online (Sandbox Code Playgroud)
Ruby版本的性能似乎要大得多,尽管我见过大多数证据表明Clojure应该具有卓越的性能.有什么我误解的东西或我的Clojure解决方案的某些元素会减慢它的速度吗?
我正在尝试使用 React.lazy 来延迟加载 React 组件。该组件如下所示:
function App() {
const HubScreen = React.lazy(() => import("./screens/hub").then((mod) => {
console.log(mod.default)
return mod.default;
}));
return (
<BrowserRouter>
<MuiThemeProvider theme={theme}>
<MainContaier>
<div id="screen">
<CssBaseline />
<Switch>
<React.Suspense fallback={<h1>Loading...</h1>}>
<Route exact path="/" component={HomeScreen} />
<Route path="/hub" render={() => <HubScreen />} />
</React.Suspense>
</Switch>
</div>
</MainContaier>
</MuiThemeProvider>
</BrowserRouter >
)
}
Run Code Online (Sandbox Code Playgroud)
这是我要导入的组件
import React from "react";
function HubScreen() {
return (
<div>Hi</div>
);
}
export default HubScreen;
Run Code Online (Sandbox Code Playgroud)
当我导航到时,/hub我看到的值为mod.defaultundefined。随着我的 Chrome 窗口变得完全没有响应,需要强制停止。
我知道我的模块路径./screens/hub是正确的,因为如果我放置了一个像 …
我正在阅读关于es2015的一些内容,在我遇到这段代码时尝试了箭头语法的一些示例:
var odds = evens.map(v => v + 1);//I understand
var nums = evens.map((v,i) => v + i);//I don't understand
Run Code Online (Sandbox Code Playgroud)
与evens初始化为[0,2,4,6]我得到[1,3,5,7]的odds,我明白了.
但是我不明白第二个表达式的结果[0,3,6,9].基本上我不理解i在第二个例子中为变量分配了什么值.任何人都可以对此有所了解吗?
javascript ×2
arrays ×1
callback ×1
clojure ×1
ebean ×1
java ×1
map-function ×1
performance ×1
reactjs ×1
ruby ×1
webpack ×1