小编bou*_*uby的帖子

当我的脚本断开时,如何让shell/ruby​​发出噪音(让我的电脑发出哔哔声或播放声音/音轨)?

我正在运行一个测试脚本,它在一个网站上一遍又一遍地运行,在几个小时的过程中运行了数百次.我想让红宝石开始播放一首响亮的歌曲/ mp3,以便在我在我相当小的公寓的另一部分时提醒我.

ruby audio error-handling shell scripting

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

Rails-获取某种数据类型的所有表列的名称吗?(#column_names仅用于float cols,例如。)

在rails中,我们可以这样做:

TableName.column_names
Run Code Online (Sandbox Code Playgroud)

并以字符串的形式获取表的所有列名称的数组。

我能以某种简化的,类似ruby的方式获取数字表的所有column_name的方法吗?还是所有的花车?或琴弦等?

现在,我只是在查找要使用的表的所有非数字列名,然后从所有表的列名列表中将它们作为数组减去,如下所示:

cols = TableName.column_names - ["name", "created_at", "location", ... ]
Run Code Online (Sandbox Code Playgroud)

有一百多个数值列,所以这是我目前最好的解决方案,但感觉像是被黑客入侵了

activerecord ruby-on-rails columnname

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

使用 gpsd 或 cgps 返回纬度和经度然后退出

我想要一种非常简单的方法来从 unix 命令行从 USB 加密狗查询我的 gps 位置。

现在,我知道我已经有了一个正常运行的软件和硬件系统,cgps命令成功地向我展示了我的位置就证明了这一点。我现在希望能够从命令行对我的 gps 位置(纬度,十进制长)发出简短请求。我的 USB 串口的路径是/dev/ttyUSB0,我正在使用一个输出通用 NMEA 语句的 Global Sat 加密狗

我怎样才能做到这一点?

谢谢

unix gps gpsd

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

添加数字时,如何将nil值视为零?

我有一个看起来像这样的方法:

def calculate_the_thing(hsh)
  hsh[:x] + hsh[:y] + hsh[:z]
end
Run Code Online (Sandbox Code Playgroud)

这需要这样的事情:

{:x => 5, :y => nil, :z => 2, :a => 5}
Run Code Online (Sandbox Code Playgroud)

我想补丁一些类,以便当+方法获得nil值时,它将其视为零.似乎合理.我怎么能这样做?

ruby monkeypatching

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

对三个或更多对象进行平等测试

如果我有三个或更多这样的对象:

a = 4
b = 4
c = 4
d = 2
Run Code Online (Sandbox Code Playgroud)

什么是一种干净的红宝石式的方式来确定它们是否都是平等的?在三个或更多元素上运行相等测试的任何定制方法?

我想我可以这样做:

arrays = [a,b,c,d].map{|x| [x]}
arrays.first == arrays.reduce(:&) ? true : false
Run Code Online (Sandbox Code Playgroud)

这似乎有用,但感觉有点像火腿,其他开发人员可能很难阅读.

ruby equality

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

未声明的可枚举对象是否有可能在块中调用自身?

我最近问了一个问题(三个或更多对象的等式测试),我试图确定一种优雅的方式来对一组3个或更多对象进行相等测试.其中一个解决方案是这样的:

array = [1,1,1,1]
array.all? {|x| x == array.first }
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以将它减少到只有一行,这样我就可以做一些像这样解释的东西:

[1,1,1,1].all? {|x| x == [1,1,1,1].first }
#=> true
Run Code Online (Sandbox Code Playgroud)

在某种程度上,我能够引用块所调用的初始对象,而无需先在前一行中声明该对象.在伪代码中,我想要做的是这样的事情:

[1,1,1,1].all? {|x| x == object_being_called_on_by_block.first }
#=> true
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个,但没有用:

[1,1,1,1].all? { |x| x == self.first }
Run Code Online (Sandbox Code Playgroud)

ruby block self

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

为什么 psql 不要求我输入密码来访问 psql 以获取我刚刚为其创建密码的登录角色?

刚刚创建了一个登录角色,随后创建了一个由登录角色拥有的数据库(两者都具有相同的名称“。我指定了一个密码。输入psql fplanner并立即被带到控制台,而没有要求输入密码。我登录到我的计算机的管理员帐户,所以也许就是这样。

只是想知道为什么它不要求我输入密码,什么时候会(或应该),以及我可能如何强制它每次在被访问之前提示输入密码

  • 刚刚创建了一个 rails 应用程序,它也不需要登录信息来访问数据库。可能再次基于我已经是 root 的事实我不确定

系统:OSX El Capitan、PostgreSQL 9.4.4、PgAdmin 1.20.0

这里是非常基本的问题,但似乎没有被问到,所以我决定试一试。

passwords postgresql login

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

迭代器中的Ruby instance_variable_set错误:`market_0_home'不允许作为实例变量名

首先,这里是在下面的迭代之外的@ market_0_home的分配,只是为了告诉你我尝试过

>> @market_0_home = 3
=> 3
Run Code Online (Sandbox Code Playgroud)

好的,那里没有错误,现在让我们在一个有点复杂的迭代中尝试这个

>> markets
=> [{"home"=>"CO", "name"=>"David Douglas"}, {"home"=>"SC", "name"=>"David Robertson"}]
>> markets.each_with_index do |market, i|
?> market.each do |name, v|
?> instance_variable_set "market_#{i}_#{name}", v
>> end
>> end
NameError: `market_0_home' is not allowed as an instance variable name
from (irb):23:in `instance_variable_set'
from (irb):23
from (irb):22:in `each'
from (irb):22
from (irb):25:in `each_with_index'
from (irb):21:in `each'
from (irb):21:in `each_with_index'
from (irb):21
>> 
Run Code Online (Sandbox Code Playgroud)

ruby each iterator block variable-assignment

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

以字节/兆字节为单位确定表或所选记录的大小

我最近有点懒,并且已经生成了数十亿字节的PostGis数据库记录,其中很多我不再需要了.我开始考虑清理它,但想确定这些记录占用了多少字节.

我正在使用rails,所以如果我可以在已经选择的记录组上调用方法或sql-snippet以确定所述记录的大小(以字节为单位),这将非常有用.

postgresql size byte diskspace

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

替换列(<td>)类甚至可能是rails中的列内容?

在轨道我知道你可以做

<tr class="<%= cycle("even", "odd") %>">
Run Code Online (Sandbox Code Playgroud)

循环给定行的类.

但在这种情况下

<% @products.each do |p| %>
<tr class="headers">
    <td><%= p.name %></td>
    <td><%= p.idnum %></td>
    ...
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我怎么能自动替换列类?

有什么方法可以这样吗?(为了便于说明,发明了一些奇特的方法名称('.column_names'))

<% @products.each do |p| %>
    <tr class="headers">
        <% products.column_names.each do |c| %>
            <td class="<%= cycle("even", "odd") %>"><%= c %></td>
        <% end %>
    </tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)

编辑:(例如)

<table>
  <tr class="headers">
    <td class="even">&nbsp;</td>
    <td class="odd">Name</td>
    <td class="even">Followers</td>
    <td class="odd">Date Joined</td>
    <td class="even">Slogan</td>
    <td class="odd">Location(s)</td>
    <td class="even">Segments(s)</td>
    <td class="odd">Website</td>
  </tr>
  <tr class="body">
    <td class="even"><img …
Run Code Online (Sandbox Code Playgroud)

css ruby html-table ruby-on-rails cycle

0
推荐指数
1
解决办法
1185
查看次数