问题标签 [ruby-2.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 为什么 Ruby 2.1 的 ObjectSpace.dump_all 堆输出中缺少文件名和行?
我最近使用新的ObjectSpace.dump_all方法分析了一堆 Ruby 2.1.2 代码。我取回了一些有用的数据(使用@tmm1 在该链接中建议的脚本):
我的问题是:为什么在我们看不到文件名或行号(最后六行)的地方分配了这么多对象?似乎我的问题与很多字符串有关,考虑到这个应用程序的功能,这绝对是有道理的。但不知道这些字符串是从哪里构建的意味着我无能为力。
当应用程序启动时,我正在运行ObjectSpace.trace_object_allocations_start
,远在我尝试分析的操作之前。我肯定会GC.start
在每次调用ObjectSpace.dump_all
. 我正在调用.dump_all
一些 Sidekiq 中间件,该中间件以类似于@krasnoukhov 的帖子的方式转储每 100 个工作。
我想我真正的问题是,这里是否有人足够了解 Ruby 对象分配来解释为什么ObjectSpace
可能不知道这些对象的来源STRINGs
?
谢谢!
编辑:我使用的代码与@Krasnoukhov 的博客中的代码几乎相同
ruby-on-rails - 无法创建用于写入的文件
我正在txt
使用carrierwave
. 文件不小(80 MB - 500 MB),我想删除一些行以减小此大小(将减小大约 80% 的文件大小)。
我创建了一个模型方法来清除这些行:
但是当我尝试open
新文件说没有这样的文件时出现错误。正如我读过的那样,使用该选项打开文件w
应该创建一个空文件进行写入。那为什么我会收到这样的错误?
另外,由于log_file
column 保存了原始文件的路径,并且我正在更改它,你能告诉如何用旧名称重命名新文件吗?正如我检查过的,我应该只指定old
和new
名称,而不是路径。
奇怪的是,如果我在 rails 控制台中执行以下命令,它不会引发错误并且文件已创建。
ruby - Ruby 2.1.1 中带有 else 语句的定义语法
ruby 是否支持具有以下代码的语法:
我发现这个语法是有效的,并且 ruby 解释器没有为此标记任何异常。如果这是有效的,任何人都可以解释这种语法的用法。
目前使用 Ruby 2.1.1
ruby-on-rails - ruby 中的 javascript Data.parse
我想用HighCharts来渲染一些历史数据。问题是图表正在处理使用Data.parse
函数解析的日期。如此处所述:
例如:
因为我不想对返回的内容进行 JavaScript 操作,所以JSON
我想在ruby
. 有这样的ruby
功能吗?
ruby-2.0 - Ruby 2.x 中是否有“别名”的官方文档?
我似乎在 Ruby 2 中找不到任何关于 Rubyalias
关键字的文档。
我可以找到很多谈论它的非官方页面,但没有任何官方页面。
有 RDoc 什么的alias
吗?
注意:我不是在谈论alias_method
,它确实有文档。我说的是普通的旧alias
关键字。
ruby-on-rails - 为什么不能在rails控制器中重新分配类变量
我有一个基本控制器
和 2 个子类
当访问 url_a 转到class A
,然后我访问 url_b 转到class B
,它们都工作正常。
但是当我切换回 url_a 时,Base.result
仍然返回b
,为什么?
编辑
我已更改@@var
为@var
,我得到了相同的结果。
ruby - IO#ioctl 修改参数?(红宝石 2.1.3)
似乎IO#ioctl
改变了通过的第二个参数。
这是预期的行为还是错误?用新的 Ruby 2.1.3 测试。
ruby-on-rails-4 - 在 Ruby 中每 5 秒生成随机数
此代码每毫秒不断生成一个随机数。我想每 5 秒生成一个随机数。像这样的东西,
其中 5000 是指时间(每 5 秒生成 1 到 50 之间的随机数)
ruby - Ruby Process.daemon:打开/关闭
我正在尝试守护在 2.1.1 上运行的 Ruby 脚本。
我的守护进程部分代码是这样的:
但是,看起来这Process.kill(9,Process.pid)
并没有杀死我想要的东西。我想杀死之前ruby tweetsearcher.rb -start
已经在后台运行的“”。
我该如何进行?
ruby-on-rails - 尝试运行现有应用程序并获取 (Psych::SyntaxError)
该应用程序在 Web 服务器上正常运行,我尝试在本地运行它,但出现这些错误。知道问题可能是什么吗?我是 Ruby 新手,所以如果这是一个简单的问题,请原谅