小编rob*_*kuz的帖子

如何通过Gradle和-D为我的测试提供System属性

我有一个Java程序,它读取一个System属性

System.getProperty("cassandra.ip");
Run Code Online (Sandbox Code Playgroud)

我有一个Gradle构建文件,我开始

gradle test -Pcassandra.ip=192.168.33.13
Run Code Online (Sandbox Code Playgroud)

要么

gradle test -Dcassandra.ip=192.168.33.13
Run Code Online (Sandbox Code Playgroud)

但是System.getProperty将始终返回null.

我找到的唯一方法是在我的Gradle构建文件中添加它

test {
    systemProperty "cassandra.ip", "192.168.33.13"
}
Run Code Online (Sandbox Code Playgroud)

我如何通过-D来做到这一点

java testing gradle

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

如何使Mix只运行我的测试套件中的特定测试?

如何使Mix只运行我的测试套件中的特定测试?

运行时执行mix test所有测试

elixir

35
推荐指数
1
解决办法
9621
查看次数

如何从Vagrant配置Dockerfile

如何通过外部Dockerfile开始配置Docker?我的Vagrantfile目前看起来像这样

Vagrant.configure("2") do |config|
  config.vm.box = "precise64"
  config.vm.define :server_infrastructure do |t|
  end

  config.vm.provision "docker" do |d|
    d.pull_images "ubuntu"
    #how does the below work?
    #d.build "new-container-name" "local-docker-file-name"
  end
end
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助

vagrant docker

16
推荐指数
1
解决办法
1万
查看次数

什么时候"胖箭头"(=>)绑定到"this"实例

胖箭头可以在不同的设置中使用,但它不会总是绑定到我想要的实例.

this coffeescript arrow-functions

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

如何为交错函数调用创建类型安全的DSL

我想创建一个DSL,其中可以连续调用2(foobar)函数,以便

initialize()
|> foo 10
|> bar "A"
|> foo 20
|> bar "B"
|> transform
Run Code Online (Sandbox Code Playgroud)

这通过定义非常完美

type FooResult = FooResult
type BarResult = BarResult

let foo param (result_type:BarResult, result) = (FooResult, transform param result)
let bar param (result_type:FooResult, result) = (BarResult, transform param result)
Run Code Online (Sandbox Code Playgroud)

现在我想要允许多个bar调用可以连续执行,但是foo仍然只需要调用一次

initialize()
|> foo 10
|> bar "A"
//OK
|> bar "B"
|> transform

initialize()
|> foo 10
|> bar "A"
|> foo 20
//should yield an …
Run Code Online (Sandbox Code Playgroud)

dsl f#

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

Vagrant拒绝以private_network模式连接

我已经将运行VistualBox的Vagrant(1.2.2)VM设置为:private_network,我已经启动了一个Sinatra服务器.但是我无法连接到那个Sinatra实例.然而,VM运行并响应ping.

这是我的Vagrantfile

Vagrant.configure("2") do |config|
    config.vm.box = "precise64"
    config.vm.network :private_network, ip: "192.168.33.10"
end
Run Code Online (Sandbox Code Playgroud)

所以我启动了Vagrant VM并将其添加到其中

prodserv$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for VM to boot. This …
Run Code Online (Sandbox Code Playgroud)

connection virtualbox sinatra vagrant

8
推荐指数
1
解决办法
6704
查看次数

如何在F#中编写一个可变函数来模拟类似的Haskell解决方案?

我怎样才能(如果有的话)模拟可变参数函数(而不是方法)以便我可以编写

sum 1 2 3
sum 1 2 3 4 5
sum 1 2 3 4 5 6 7
// etc.
Run Code Online (Sandbox Code Playgroud)

上面的代码只是作为一个例子 - 显然如果我必须总结一个列表

[ 1; 2 ; 3] |> List.sum 
Run Code Online (Sandbox Code Playgroud)

是一个更好的方式.

但是,我正在寻找像Haskell解决方案这样的结构相似的解决方案

同样重要的是函数调用和参数值的正常语法保持不变.所以

sum 1 2 3
Run Code Online (Sandbox Code Playgroud)

VS

sum(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

这实际上意味着

let sum ([<ParamArray>] arr) = ...
Run Code Online (Sandbox Code Playgroud)

在这个特定的情况下不需要.

所有这一切的动机:我正在探索F#的类型系统和语法的外边缘.而且我完全意识到我可能已经越过了可能已经存在的边界.

PS:我的具体想法(我在这里没有描述)也可以完全不同的方式解决 - 所以我知道,所以我已经完成了.因此我的问题不是:如何以不同的方式解决这个问题,但如何在结构上像Haskell一样解决这个问题.

PPS:Double Karma-Points如果你可以使整个解决方案递归.

f# variadic-functions

8
推荐指数
2
解决办法
832
查看次数

通过类型提供程序创建通用类型

是否可以通过类型提供程序创建泛型类型

[<TypeProvider>]
type SampleTypeProvider(config: TypeProviderConfig) as this = 

...
//the below would be the generated type
type A<'b> () = 
     member this.C() : 'b = ...
     member this.D() : 'b = ...
//
...
[<assembly:TypeProviderAssembly>] 
do()
  ....
Run Code Online (Sandbox Code Playgroud)

所以在使用场景中看起来会有所作为

#r @".\bin\Debug\SampleTypeProvider.dll"
type A = SampleTypeProvider.A
type intA = A<int>
type strA = A<str>
Run Code Online (Sandbox Code Playgroud)

如果可能的话 - 我该如何处理它.

f# type-providers

7
推荐指数
1
解决办法
170
查看次数

我怎样才能使用Xamarin的Storyboard和F#

因为它还没有(还)可以使用Storyboard来生成类和粘合代码.我有想法自己编写F#类并自己粘贴.

所以我写了这个Storyboard命名空间的加载

open System
open MonoTouch.UIKit
open MonoTouch.Foundation

[<Register("AppDelegate")>]
type AppDelegate() = 
    inherit UIApplicationDelegate()

    member val window = null with get, set

    override this.FinishedLaunching(app, options) = 
        this.window <- new UIWindow(UIScreen.MainScreen.Bounds)
        let Storyboard = UIStoryboard.FromName("MainStoryboard", null)
        this.window.RootViewController <- Storyboard.InstantiateInitialViewController() :?> UIViewController
        this.window.MakeKeyAndVisible()
        true

module Main = 
    [<EntryPoint>]
    let main args = 
        UIApplication.Main(args, null, "AppDelegate")
        0
Run Code Online (Sandbox Code Playgroud)

和以下控制器类

open System
open System.Drawing
open MonoTouch.UIKit
open MonoTouch.Foundation

[<Register("HomeController")>]
type HomeController() = 
    inherit UIViewController()

    override this.ViewDidLoad() = 
        base.ViewDidLoad()
        System.Console.WriteLine("FOO!")
Run Code Online (Sandbox Code Playgroud)

然后我创建了故事板(见附图). 查看 性能

AND - 一切都被加载,故事板工作正常 - 一个例外:ViewDidLoadnever被调用.显然我没有成功连接我的手动编码控制器. …

f# ios xamarin

6
推荐指数
1
解决办法
375
查看次数

TypeScript是否支持解构分配?

Typescript会支持类似于CoffeeScript的解构分配吗?

 foo = {x: 1, y: 2, z: 3}
 {x, z} = foo

 # which will yield
 x == 1 && z == 3
Run Code Online (Sandbox Code Playgroud)

typescript

5
推荐指数
1
解决办法
1096
查看次数