小编Ale*_*hin的帖子

如何在Phoenix/Elixir中读取配置变量?

我想在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它的时候.为什么?

elixir phoenix-framework

43
推荐指数
4
解决办法
2万
查看次数

如何有效地检查变量是否是数组或对象(在NodeJS和V8中)?

在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上工作.

javascript v8 typeof instanceof node.js

42
推荐指数
8
解决办法
11万
查看次数

Julia 中的 firstindex 有什么意义?

从文档中它说firstindex()找到集合的第一个索引。为什么不只使用 1?当它不是 1 时会出现什么情况?

julia

42
推荐指数
2
解决办法
2401
查看次数

如何在TypeScript项目之间共享代码?

假设我有两个具有以下文件结构的项目

/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-aproject-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-aproject-b-不能做到这一点,打字稿配置是这些项目略有不同.它也不是很方便,不想这样做.

还有其他方法吗?

typescript

29
推荐指数
4
解决办法
4960
查看次数

在Elixir中用计数器列出理解

有没有办法在理解中添加循环计数器?

例如,没有计数器的理解:

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)

elixir

22
推荐指数
1
解决办法
2906
查看次数

如何在不在本地创建远程分支的情况下git fetch和checkout?

使用案例:我在GitHub上有一些回购,有人将它分叉并添加了新功能并启动了拉取请求.我不能自动合并它,因为我想先解决一些小问题.

这是一次性活动,我永远不需要这个远程存储库,所以我不想创建本地remote分支.

基本上我想做:

  1. 从远程存储库复制文件并重写我自己的(没有任何git相关信息).
  2. 看到与我现在的头脑不同.
  3. 解决问题并提交.

怎么做?

git checkout git://github.com/xxx/xxx.git 根本不起作用(失败并出错)

git fetch git://github.com/xxx/xxx.git 有效但不更新任何东西

git merge pull git-fetch git-checkout

15
推荐指数
3
解决办法
4668
查看次数

如何在函数式编程中使用多态?

如何在函数式编程中使用多态(使用动态类型系统)?

让我们考虑以下示例(首先在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)

oop polymorphism functional-programming clojure

13
推荐指数
2
解决办法
1529
查看次数

如何用 brew 安装 openjdk?

似乎有 3 个包“openjdk”、“cask java”和“adoptopenjdk”。

应该使用哪一种?

java homebrew

11
推荐指数
3
解决办法
2万
查看次数

如何使用 brew 但没有 openjdk 安装 maven?

我已经在我的机器上安装了 Java HotSpot JDK 11,我正在使用它。

当我输入时,brew install maven它尝试安装openjdk为依赖项。我不希望那样并且希望 maven 使用我的 JDK,而不是它自己的openjdk.

那么,我怎么能告诉它不安装openjdk呢?

homebrew maven

11
推荐指数
2
解决办法
4524
查看次数

如何打印错误的完整堆栈跟踪?

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.msgfieldnames(error)不工作。

julia

10
推荐指数
1
解决办法
621
查看次数