我有一个带有User类的Rails 3应用程序,以及一个我要导入的制表符分隔文件.
如何在rails控制台之外访问Active Record模型,以便我可以编写脚本来执行操作
require "???active-record???"
File.open("users.txt", "r").each do |line|
name, age, profession = line.strip.split("\t")
u = User.new(:name => name, :age => age, :profession => profession)
u.save
end
Run Code Online (Sandbox Code Playgroud)
我是否使用"ar-extensions"宝石,还是有另一种方式?(我现在不特别关心速度,我只是想要一些简单的东西.)
我正在尝试在R中使用以下声音包:http://playitbyr.r-forge.r-project.org/gettingstarted.html
安装包及其依赖项后,当我尝试运行时
sonify(iris, sonaes(time = Petal.Length, pitch = Petal.Width))
Run Code Online (Sandbox Code Playgroud)
(根据页面上给出的示例),我收到此错误:
Error in play.default(x, rate, ...) : no audio drivers are available
Run Code Online (Sandbox Code Playgroud)
谁知道我应该怎么做?我google了一下,看起来好像我需要打电话set.audio.driver(name),但我不知道该把什么作为一个论点.
(如果重要,请在Mac OS X Snow Leopard上.)
我正在尝试在Scala中实现Count-Min Sketch算法,因此我需要生成k个成对独立的散列函数.
这是我之前编程的任何一个低级别,除了Algorithms类之外我对哈希函数知之甚少,所以我的问题是:如何生成这些k成对独立哈希函数?
我应该使用像MD5或MurmurHash这样的哈希函数吗?我只生成表单的k哈希函数f(x) = ax + b (mod p),其中p是素数,a和b是随机整数?(即,每个人都在算法101中学习的通用散列家族)
我看起来更简单而不是原始速度(例如,如果它更容易实现,我将采取5倍的速度).
我试图理解1.9之前和1.9之前的Ruby线程之间的区别(在标准MRI实现中),但似乎就你可以用它们实现的好处而言,它们实际上是相同的.它是否正确?
从我有限的理解:
这是正确的,还是我错过了什么?1.9线程与1.9之前的线程(在MRI中)有什么好处?
我有一个我在Heroku上运行的小型Sinatra应用程序,它使用单个管理员密码,以及一些API身份验证密钥.
哪里是存放这些东西的最佳地点?我是否将它们放在环境变量中,然后使用
heroku config:add ADMIN_PASSWORD=foobar
Run Code Online (Sandbox Code Playgroud)
?或者我使用包含它们的配置文件,我只是不提交配置文件?
我正在努力学习Hive.令人惊讶的是,我找不到如何编写简单的字数统计工作的示例.以下是否正确?
假设我有一个输入文件input.tsv:
hello, world
this is an example input file
Run Code Online (Sandbox Code Playgroud)
我在Python中创建了一个拆分器,将每行转换为单词:
import sys
for line in sys.stdin:
for word in line.split():
print word
Run Code Online (Sandbox Code Playgroud)
然后我的Hive脚本中有以下内容:
CREATE TABLE input (line STRING);
LOAD DATA LOCAL INPATH 'input.tsv' OVERWRITE INTO TABLE input;
-- temporary table to hold words...
CREATE TABLE words (word STRING);
add file splitter.py;
INSERT OVERWRITE TABLE words
SELECT TRANSFORM(text)
USING 'python splitter.py'
AS word
FROM input;
SELECT word, count(*) AS count FROM words GROUP BY word;
Run Code Online (Sandbox Code Playgroud)
我不确定我是否遗漏了某些东西,或者它是否真的很复杂.(特别是,我是否需要临时words表,是否需要编写外部分离器功能?)
我刚刚下载了Ruby 1.9.2,我希望它能完全取代我已安装的旧版Ruby(1.8.7).(主要是因为我在安装不同版本的东西时会感到困惑.)
最好的方法是什么?我是否要卸载旧版本?(如果是这样,怎么样?)我可以用新的ruby1.9.2/bin/{ruby,irb}替换旧的ruby1.8.7/bin/{ruby,irb}吗?
我在Windows 7机器上.
我有一个序列,我想得到的长度:
val x = (1 to 1000000)
x.length
Run Code Online (Sandbox Code Playgroud)
这是O(1)操作吗?(看起来像这样,在repl中尝试了几行.)为什么?什么是序列存储,使其成为O(1)操作,如果它是一个?(它只是将序列的长度存储为元数据吗?)
我正试图在我的新Macbook上使用Octopress(Jekyll上的博客引擎),当我运行时出现这个错误bundle exec jekyll --server:
(缩短路径)
/path/to/markdown.rb:118:in `to_html': wrong argument type String (expected Array) (TypeError)
from /path/to/markdown.rb:118:in `convert'
...
Run Code Online (Sandbox Code Playgroud)
(完整路径)
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters/markdown.rb:118:in `to_html': wrong argument type String (expected Array) (TypeError)
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters/markdown.rb:118:in `convert'
...
Run Code Online (Sandbox Code Playgroud)
看看第118行,我看到:
RDiscount.new(content, *@rdiscount_extensions).to_html
Run Code Online (Sandbox Code Playgroud)
如果我用"hello"这样的字符串替换这一行,服务器就可以正常启动了.但如果我用类似的东西替换它RDiscount.new("hello").to_html,我会得到同样的错误.但是,启动irb和运行RDiscount.new("hello").to_html工作正常.
有什么想法有什么不对吗?我能够在我拥有的另一台计算机上启动服务器,但我不知道如何弄清楚这两台计算机正在做什么之间的区别(某个库的某个版本不同?).