我想在my/config/config.exs
文件中设置我的应用程序的标题:
config :my, My.Endpoint,
url: [host: "localhost"],
root: Path.dirname(__DIR__),
secret_key_base: "secret",
title: "My App"
Run Code Online (Sandbox Code Playgroud)
我怎样才能读到title
以后在模板中使用它?就像是:
<div>
Title of my app is <%= ??? %>
</div>
Run Code Online (Sandbox Code Playgroud)
我试过conn.title
,它说没有这样的钥匙.但是,当我尝试conn.secret_key_base
它的时候.为什么?
在NodeJS和V8中有没有办法有效地检查变量是Object还是Array?
我正在为MongoDB和NodeJS编写一个Model,并遍历对象树,我需要知道对象是简单的(Number,String,...)还是复合(Hash,Array).
似乎V8有快速内置Array.isArray
,但如何检查对象是否是一个对象?我的意思是复杂的对象,如哈希{}
或类的实例,不是这样的new String()
?
通常它可以这样做:
Object.prototype.toString.call(object) == "[object Object]"
Run Code Online (Sandbox Code Playgroud)
或这个:
object === Object(object)
Run Code Online (Sandbox Code Playgroud)
但似乎这种操作并不便宜,也许有一些效率更高?如果它不是通用的并且不适用于所有引擎,那就没关系,我只需要在V8上工作.
从文档中它说firstindex()找到集合的第一个索引。为什么不只使用 1?当它不是 1 时会出现什么情况?
假设我有两个具有以下文件结构的项目
/my-projects/
/project-a/
lib.ts
app.ts
tsconfig.json
/project-b/
app.ts // import '../project-a/lib.ts'
tsconfig.json
Run Code Online (Sandbox Code Playgroud)
我想消费也lib.ts
位于.怎么做?project-a
project-b
将其作为NPM模块发布 - 绝对不希望如此,对于这样一个简单的用例来说,这是一种过度杀伤力.我只想在两个项目之间共享一个文件.
使用import '../project-a/lib.ts'
- 不起作用,TypeScript抱怨
'lib.ts' is not under 'rootDir'. 'rootDir' is expected to contain all source files.
tsconfig.json
一个级别,因此将涵盖project-a
和project-b
-不能做到这一点,打字稿配置是这些项目略有不同.它也不是很方便,不想这样做.还有其他方法吗?
有没有办法在理解中添加循环计数器?
例如,没有计数器的理解:
for c <- ["a", "b"], do: c # => ["a", "b"]
Run Code Online (Sandbox Code Playgroud)
我怎样才能加入反击呢?像这样的东西:
for c <- ["a", "b"], do: {counter, c} # => [{0, "a"}, {1, "b"}]
Run Code Online (Sandbox Code Playgroud) 使用案例:我在GitHub上有一些回购,有人将它分叉并添加了新功能并启动了拉取请求.我不能自动合并它,因为我想先解决一些小问题.
这是一次性活动,我永远不需要这个远程存储库,所以我不想创建本地remote
分支.
基本上我想做:
怎么做?
git checkout git://github.com/xxx/xxx.git
根本不起作用(失败并出错)
git fetch git://github.com/xxx/xxx.git
有效但不更新任何东西
如何在函数式编程中使用多态(使用动态类型系统)?
让我们考虑以下示例(首先在FP中的OOP秒中).该程序非常简单 - 有数字列表,我们需要绘制所有这些,不同的数字使用不同的绘图算法.
在OOP中,它可以简单地完成,但如何在FP中完成?特别是在具有动态类型系统的语言中,如Scheme,Clojure(在编译时没有静态类型解析)?
我创建了简单的代码(实时版本http://tinkerbin.com/0C3y8D9Z,按"运行"按钮).我在FP示例中使用了if/else开关,但这是一个非常糟糕的方法.如何才能更好地解决这个问题呢?
样本是用JavaScript编写的,但这只是为了简单起见,看到任何带有动态类型系统的函数语言的解决方案会很有趣.
OOP
var print = function(message){document.write(message + "\n<br/>")}
// Object Oriented Approach.
var circle = {
draw: function(){print("drawing circle ...")}
}
var rectangle = {
draw: function(){print("drawing rectangle ...")}
}
var objects = [circle, rectangle]
objects.forEach(function(o){
o.draw()
})
Run Code Online (Sandbox Code Playgroud)
FP
var print = function(message){document.write(message + "\n<br/>")}
// Functional Approach.
var circle = {type: 'Circle'}
var drawCircle = function(){print("drawing circle ...")}
var rectangle = {type: 'Rectangle'}
var drawRectangle = function(){print("drawing rectangle ...")}
var objects …
Run Code Online (Sandbox Code Playgroud) 似乎有 3 个包“openjdk”、“cask java”和“adoptopenjdk”。
应该使用哪一种?
我已经在我的机器上安装了 Java HotSpot JDK 11,我正在使用它。
当我输入时,brew install maven
它尝试安装openjdk
为依赖项。我不希望那样并且希望 maven 使用我的 JDK,而不是它自己的openjdk
.
那么,我怎么能告诉它不安装openjdk
呢?
println
不打印堆栈跟踪,这段代码
try
eval(Meta.parse("invalidfn()"))
catch error
println(error)
end
Run Code Online (Sandbox Code Playgroud)
产生
UndefVarError(:invalidfn)
Run Code Online (Sandbox Code Playgroud)
和error.msg
或fieldnames(error)
不工作。
elixir ×2
homebrew ×2
julia ×2
clojure ×1
git ×1
git-checkout ×1
git-fetch ×1
instanceof ×1
java ×1
javascript ×1
maven ×1
merge ×1
node.js ×1
oop ×1
polymorphism ×1
pull ×1
typeof ×1
typescript ×1
v8 ×1