小编mon*_*962的帖子

如何从R脚本中读取命令行参数?

我有一个R脚本,我希望能够提供几个命令行参数(而不是代码本身的硬编​​码参数值).该脚本在Windows上运行.

我找不到有关如何将命令行中提供的参数读入我的R脚本的信息.如果无法做到,我会感到惊讶,所以也许我只是在谷歌搜索中没有使用最好的关键词......

任何指针或建议?

parameters command-line r

275
推荐指数
7
解决办法
17万
查看次数

如何记录Ruby程序中调用的每个方法?

我继承了一大堆Ruby代码,坦率地说,对于像我这样的凡人来说,几乎无法理解.它实际上是Rspec单元测试代码,但结构"非常不寻常"很好地说.

我希望能够做的是运行代码,并在某处记录以下信息:

  • 每个被调用的方法,包括定义方法的类的名称,以及定义调用方法的文件名(是的,我们在多个不同的文件中定义了相同的类/方法,而且很难知道被调用的)
  • (可选)传递给调用的每个方法的参数

有了这个,我可以开始尝试重构它.如果没有它,由于代码库的大小(20k +单元测试用例),将它理顺起来将是一项非常困难的任务.

我无法进入并对正在运行的代码执行批量编辑,因为当你甚至在它周围使用苛刻的语言时(即经常),它会中断.相反,我需要能够在现有状态下对代码进行检测,或者对现有的代码进行最小的更改.

有没有一种方法可以记录这种级别的详细信息,而无需对代码库进行大量更改?我已经看过Ruby分析器,看看它是否有用,它可能会有所帮助; 我很好奇是否有更好的方法(特别是记录包含调用方法的文件名).

提前致谢

ruby methods logging

33
推荐指数
3
解决办法
8829
查看次数

如何在Clojure中使用Stuart Sierra的组件库

我正在努力探讨如何在Clojure应用程序中使用Stuart Sierra的组件库.通过观看他的Youtube视频,我想我已经掌握了导致他创建图书馆的问题; 但是我正在努力研究如何在一个新的,相当复杂的项目上实际使用它.

我意识到这听起来很模糊,但感觉就像我缺少一些关键概念,一旦我明白了,我就会很好地掌握如何使用组件.换句话说,斯图亚特的文档和视频详细介绍了组件的内容和原因,但我错过了如何.

是否存在任何类型的详细教程/演练:

  • 为什么你要使用组件来完成非平凡的Clojure应用程序
  • 如何在非平凡的Clojure应用程序中细分功能的方法,以便以合理的最佳方式实现组件.当你拥有的只是数据库,应用服务器和网络服务器层时,这是相当简单的,但是我很难掌握你如何将它用于具有许多不同层的系统,这些层都需要协同工作连贯
  • 接近开发/测试/故障转移等的方法.在一个使用组件构建的非平凡的Clojure应用程序中

提前致谢

components functional-programming dependency-injection clojure

25
推荐指数
1
解决办法
5466
查看次数

如何将脱机HTML5 Web数据库与集中式数据库同步

我希望能够在HTML5(iPad)网络应用程序中执行以下操作:

  • 将数据上传到在线数据库(如果我要像SQLite那样构建在线数据库,那么它的大小可能小于50Mb)
  • 将数据的子集或完整副本提取到脱机Web数据库
  • (走出3G网络覆盖范围)
  • 对下载的数据执行一系列分析类型计算
  • 将我的计算参数保存到脱机Web数据库
  • 重复,在较长时间内为多个不同的离线分析类型计算会话保存不同的参数集
  • (回到3G网络覆盖的区域)
  • 将保存的参数从我的离线Web数据库同步到中央在线数据库

我对每一步都很满意,直到最后一步......

我正在尝试查找是否可以将脱机Web数据库与中央数据库同步的信息,但无法找到涵盖该主题的任何内容.是否有可能做到这一点?如果是这样,你能否提供关于它的信息的链接,或描述它如何工作足够详细,以实现我的特定应用程序?

提前致谢

database html5 offline offline-browsing

14
推荐指数
2
解决办法
5764
查看次数

读取numpy中的CSV文件,其中分隔符为","

我有一个CSV文件,其格式如下所示:

"FieldName1","FieldName2","FieldName3","FieldName4"
"04/13/2010 14:45:07.008","7.59484916392","10","6.552373"
"04/13/2010 14:45:22.010 ","6.55478493312","9","3.5378543"
......

请注意,CSV文件中每行的开头和结尾都有双引号字符,该","字符串用于分隔每行中的字段.CSV文件中的字段数可能因文件而异.

当我尝试将其读入numpy via时:
import numpy as np
data = np.genfromtxt(csvfile, dtype=None, delimiter=',', names=True)
所有数据都以字符串值的形式读入,由双引号字符包围.这不是不合理的,但对我来说没什么用处,因为我必须返回并将每列转换为正确的类型

当我使用时delimiter='","',除了第一个和最后一个字段,一切都按照我的意愿运行.由于行和行尾字符的开头是单个双引号字符,因此不会将其视为第1个和最后一个字段的有效分隔符,因此它们会被读入,例如,"04/13/2010 14:45:07.008并且6.552373"- 请注意前导和尾部双字符-分别引用字符.由于这些冗余字符,numpy假设第1个和最后一个字段都是字符串类型; 我不希望如此

是否有一种方法可以指示numpy按照我的方式读取以这种方式格式化的文件,而不必在初始读取后返回并"修复"numpy数组的结构?

python csv numpy delimiter

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

使用跨多个名称空间定义的Clojure多方法

虽然下面的例子看起来有点奇怪,但这是因为我试图减少我目前得到的一个相当大的问题.当他们坐在几个抽象层后面时,我正在努力研究如何调用多方法,而defmulti和相应的defmethods在多个命名空间中定义.我真的觉得我错过了一些明显的东西......

假设我有以下场景:

  • 我通过他们自己的专有接口从各种供应商那里购买东西
  • 我想实现一个通用接口与每个供应商交谈
  • 我希望能够从不同的供应商处购买不同的商品

使用Clojure,实现通用接口的推荐方法是通过协议或多方法.在这种情况下,当我根据供应商的价值进行切换时,我认为处理下面描述的情况的最佳方法是通过多方法(但我可能是错的).

我的多方法定义看起来像这样,它定义了一个我想用来与每个供应商的API交流的通用接口:

(ns myapp.suppliers.interface)
(defmulti purchase-item :supplier)
(defmulti get-item-price :supplier)
Run Code Online (Sandbox Code Playgroud)

对于每个供应商,我可能想要这样的东西:

(ns myapp.suppliers.supplier1
  (:require [myapp.suppliers.interface :as supplier-api]))
(defmethod purchase-item :supplier1 [item quantity] ...)
(defmethod get-item-price :supplier1 [item] ...)
Run Code Online (Sandbox Code Playgroud)

(ns myapp.suppliers.supplier2
  (:require [myapp.suppliers.interface :as supplier-api]))
(defmethod purchase-item :supplier2 [item quantity] ...)
(defmethod get-item-price :supplier2 [item] ...)
Run Code Online (Sandbox Code Playgroud)

到目前为止,没问题

现在我的代码调用这些抽象的方法,我假设看起来像:

(ns myapp.suppliers.api
  (:require [myapp.suppliers.supplier1 :as supplier1]
            [myapp.suppliers.supplier2 :as supplier2])
(defn buy-something
  [supplier item quantity]
  (purchase-item [supplier item quantity])
(defn price-something
  [supplier item]
  (get-item-price [supplier item])
Run Code Online (Sandbox Code Playgroud)

这开始看起来有点......丑陋.每次实施新供应商的API时,我都需要将myapp.suppliers.api更改为:要求新供应商的方法并重新编译.

现在我正在上一级工作,我想从supplier2购买一个小部件. …

abstraction protocols clojure multimethod

9
推荐指数
1
解决办法
1020
查看次数

Oracle Forms应用程序的自动化测试工具?

我正在寻找工具集建议来自动测试Oracle Forms应用程序,测试(理想情况下)是由Cucumber驱动的.

我认为这在基于Oracle Forms的应用程序中是正常/不可避免的,但无论如何我都会拼出来; 从最终用户的角度来看,应用程序的工作方式是:

  • 用户通过浏览器连接,打开应用程序页面并登录
  • 当用户登录时,将下载一个applet,并在单独的窗口中启动Oracle Forms应用程序.然后,用户通过Oracle Forms界面与应用程序交互,使浏览器窗口保持打开状态(用户无法在Oracle Forms应用程序运行时关闭浏览器,否则会话将丢失)

理想情况下,有一个工具集可以记录用户与Oracle Forms应用程序的交互,我们可以在我们的Cucumber场景中插入步骤,例如 ...When I type 'Bob Smith' into the 'Username' field And I hit the 'Submit' button...,然后让库代码安装在幕后以驱动Oracle Forms用户界面这个级别.

我们还需要能够检查各种按钮/字段/在适当的时间显示的内容,以及其他正常的功能测试内容......

关于可能让我们构建这个幕后库代码的工具的任何建议?

automation oracleforms cucumber

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

AWS Cloudwatch事件 - 如何触发不同的时区?

我有一堆AWS Lambda函数,我想在一天中的某些时间触发,但那些时间在不同的时区.例如,我可能希望触发事件:

  • 悉尼时间下午4:55
  • 芝加哥时间下午6:30
  • 芝加哥时间晚上9点

...等等.

使用Cloudwatch事件,无论我使用哪个AWS区域,似乎我只能指定使用UTC触发的事件(即伦敦时间).今天,那很好; 我可以计算出伦敦和悉尼,伦敦和芝加哥之间的时差等等 - 然而,夏季时间在不同城市的不同日期生效,这将导致我的Lambdas在错误的时间触发它确实.

有没有办法使用非UTC时间设置触发这些Cloudwatch事件?或者,我是否可以使用除Cloudwatch之外的其他机制在一天中的特定时间触发Lambda函数,并在我想要的时区中指定那些时间?

提前致谢

timezone amazon-web-services amazon-cloudwatch aws-lambda

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

clojure.spec在多大程度上旨在取代传统的功能自动化测试?

随着截屏视频和博客开始出现在Clojure 1.9中的新clojure.spec功能周围,很明显clojure.spec能够执行许多风险缓解,而这些风险缓解以前是由更多"传统"自动化测试库(如clojure)执行的.test,midje,speclj和test.check.

是否打算在clojure.spec中基本上复制clojure.test的功能?如果您今天开始构建一个新的应用程序以在Clojure 1.9+下运行,您是否会将我上面列出的测试库放在一边,而是仅依靠clojure.spec来为您的应用程序行为提供类似的置信度?

clojure functional-testing clojure.spec

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

设计模式?函数遍历列表以搜索第一个{success}结果

我在Erlang中遇到了编码问题,这可能是一种常见的设计模式,但我找不到有关如何解决它的任何信息.

我有一个列表L.我想将函数f应用于L中的每个元素,并让它同时运行在L中的所有元素.每次调用f(元素)都会成功或失败; 在大多数情况下它会失败,但偶尔它会成功在L内的特定元素.

如果/当af(元素)成功时,我想返回"成功" 终止对L中其他元素的f的所有调用 - 第一个"成功"是我感兴趣的所有.另一方面,如果f(元素) )L中的每个元素都失败了,那么我想返回"失败".

作为一个简单的例子,假设L是一个整数列表,如果L中的元素是3,则F返回{success},或者对于任何其他值,则返回{fail}.如果L中有3个,我希望尽快找到; 我不在乎有多少3s,只是至少有3个存在与否.f可能看起来像这样:

f(Int) ->
  case Int of
    3 -> {success};
    _ -> {fail}
  end.
Run Code Online (Sandbox Code Playgroud)

如何遍历Int列表以查明列表是否包含至少一个3,并尽快返回?

当然这是一种常见的功能设计模式,我只是没有在Google中使用正确的搜索词......

erlang

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