小编Nat*_*ong的帖子

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

当您更改目录时,RVM如何检测?

RVM可以做的一件事就是当你更改目录,查找.rvmrc并根据该文件的内容更改当前的Ruby版本和gemset时注意到这一点.只要您更改到该目录并相应地输出消息,它就会进行此更改.

它如何检测当前工作目录中的更改?我可以想象一种非常粗暴的方法:运行一个以当前用户身份运行的守护进程,并不断检查结果pwd.但我确信这不是它的作用.

另一种方法可能是别名cd来更改目录,但.rvmrc如果有指示,还要检查并更改gemsets.

是否存在用于更改目录的Unix系统挂钩,或者是否存在RVM正在使用的其他技巧?

internals rvm

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

你如何组织一个类中的方法和属性?

假设您正在声明一个包含所有铃声和口哨的类 - 构造函数和析构函数,公共,私有,受保护和静态方法和属性,魔术方法等.

你如何在逻辑上组织这一切?例如,您是否通过可见性对事物进行分组?你是否按字母顺序排列方法名称?你把魔术方法组合在一起吗?你把构造函数放在开头,将析构函数放在最后吗?

显然这是主观的,但我很想知道什么对别人有用,或者你在阅读别人的代码时容易导航.

php class

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

为什么在需要之前Ruby存在于Ruby中?

在Ruby中,我希望一个未被要求的类会引发"未初始化的常量"错误.CSV例如,就是这种情况.

然而,Date行为奇怪:它是可用的,但显然不起作用,直到它是必需的.

~: irb                                                                                             
>> Date.new(2012,7,24)
ArgumentError: wrong number of arguments(3 for 0)
>> require 'date'
=> true
>> Date.new(2012,7,24)
=> #<Date: 2012-07-24 ((2456133j,0s,0n),+0s,2299161j)>
Run Code Online (Sandbox Code Playgroud)

什么解释了这种行为?

ruby date

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

Javascript可以访问原生图像大小吗?

我正在编写一个jQuery函数,我想访问图像的原生大小,以及页面上为其指定的大小.我想为每个设置一个变量.

怎么做的?

javascript size jquery image

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

Ruby的sort_by {rand}是如何工作的?

我认为这是一个很棒的Ruby单行程序:

someArray.sort_by {rand}
Run Code Online (Sandbox Code Playgroud)

它简洁,可读,而且有效 - 但我不太明白.这就是我所知道的:

  1. rand 求值为0到1之间的数字(如0.783468632804653)
  2. rand正在上面的代码中重复评估,因为将其分配给x第一个会破坏随机排序
  3. sort_by {0.783468632804653},或我尝试的任何其他数字,对阵列没有影响

在这种情况下, ruby-doc.org对我没什么帮助.

有人可以一步一步地解释这个吗?

更新

我现在一直在使用Ruby,我发现我在这里错过了一两个概念.关键是:

  1. rand是一种方法(在内核上定义); 它会生成一个随机数
  2. {rand}是一个块,它sort_by保持,每次想要比较集合中的两个项目调用它.如果集合是一堆代表国家的对象,它需要能够抓取其中的两个并确定哪个是第一个.你先放一个名字最长的那个吗?土地面积最大的那个?该区块应该通过返回一个值"回答一个问题"来回答这个问题:"你问过西班牙对喀麦隆,我说喀麦隆是第一个." (你可以这样做{|country| country.name.length}

其余的sort_by工作原理在文档中进行了解释.我仍然不太确定为什么返回一个随机数可行 - 大概是将sort_by它舍入为-1,0或1,哪个最接近?但无论如何,每次调用块时获取不同的随机数与每次获取相同的数字完全不同.什么时候sort_by说"这两个国家中的哪一个先来?",{rand}戴上眼罩,转过10次,然后说"那个!" :)

ruby

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

如何访问以数字开头的对象属性?

我正在研究一个现有的代码库并找回一个带有一个以数字开头的属性的对象,如果我调用print_r该对象,我可以看到它.

让我们说吧$Beeblebrox->2ndhead.当我尝试这样访问它时,我收到一个错误:

解析错误:语法错误,意外T_LNUMBER,期待T_STRING或T_VARIABLE或'{'或'$'

我怎样才能获得该属性?

php object

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

如何在后台运行Redis?

我在处理特定代码库时需要运行Redis.我经常打开一个新终端并在那里运行它.我怎样才能在后台运行它?

redis

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

带有"WHERE ... IN"查询的PDO

我正在修改一些PHP代码以使用PDO进行数据库访问,但我遇到了"WHERE ... IN"查询的问题.

我试图从数据库中删除一些东西,根据表格上的哪些项目进行检查.列表的长度和内容会有所不同,但是对于这个例子,想象一下:

$idlist = '260,201,221,216,217,169,210,212,213';
Run Code Online (Sandbox Code Playgroud)

然后查询如下所示:

$query = "DELETE from `foo` WHERE `id` IN (:idlist)";
$st = $db->prepare($query);
$st->execute(array(':idlist' => $idlist));
Run Code Online (Sandbox Code Playgroud)

当我这样做时,只删除第一个ID.(我假设它抛出了逗号和之后的所有内容.)

我也试过制作$idlist一个数组,但它不删除任何东西.

在PDO准备好的声明中使用项目列表的正确方法是什么?

php pdo

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

如何跳过Devise的SessionsController的before_filter?

我有一个before_filter在我的ApplicationController; 也就是说,对于我项目中的每个控制器.

我如何skip_before_filter为Devise的SessionsController创作行动?

ruby-on-rails before-filter devise

20
推荐指数
3
解决办法
2万
查看次数