小编Ski*_*ick的帖子

检查Float是否等效于Ruby中的整数值

说我有以下代码:

x = 0.8
y = 1.0
Run Code Online (Sandbox Code Playgroud)

什么是最好的检查方式y相当于Integer?目前我正在做:

y.to_int == y
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我觉得应该有一个更好的方法.

ruby type-conversion

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

什么更有意义 - char*string或char*string?

可能重复:
在C中,为什么变量名前的星号,而不是类型之后?

我现在正在学习C++,而且我遇到了很多以空字符结尾的字符串.这让我思考,在声明指针时更有意义:

char* string
Run Code Online (Sandbox Code Playgroud)

要么

char *string
Run Code Online (Sandbox Code Playgroud)

?对我来说,char*格式更有意义,因为"string"的类型是指向char的指针,而不是char.但是,我通常会看到后一种格式.显然,这也适用于参考文献.

有人可以告诉我,后一种格式是否有合理的原因?

c++ string pointers

27
推荐指数
6
解决办法
7383
查看次数

为什么PHP不会自动调用父构造函数?

相当直截了当的问题.在C++中,父构造函数将在子构造函数之前被隐式调用,那么PHP有什么逻辑不以这种方式做事?

编辑:我得到了Lukman的一个很好的答案,但我希望有更多的原因可以解决这个问题.也许问题应该是为什么C++不允许自定义调用父构造函数?我猜这是另一个问题.

php oop inheritance

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

如何在Emacs中关闭自动打开的窗口?

这可能是一个非常天真的Emacs问题 - 我是新手.

当我在评估lisp表达式时,如果出现错误,调试器会自动出现在另一个窗口中.如果我有*scratch*和*info*open(前者用于尝试lisp而后者用于读取它),则调试器在*info*所在的窗口中打开.此时,我必须切换到那个窗口,然后将其更改回*info*,然后返回*scratch*.(如果我为缓冲区列表执行Cx Cb,也会发生同样的事情.)我猜测必须有一种方法可以在没有这么长的命令序列的情况下关闭该窗口.任何人都可以开导我吗?

emacs

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

jQuery .load()无法在Chrome中运行

.load()工作正常,但由于某种原因,它现在不在Chrome中(可能是某种更新).我在Chrome 5.0.375.55上.我已经把问题解决了:

index.htm的

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function () {
          $('#reader').load('test.htm');
      });
    </script>

  </head>
  <body>
    <div id='reader'>Loading ...</div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

TEST.HTM

<h1>Loaded successfully</h1>
Run Code Online (Sandbox Code Playgroud)

这适用于Firefox和IE,但在Chrome上它#reader没有任何内容替换div 的内容.

编辑:我应该补充一点,我在本地运行它,它永远不会部署在Web服务器上.

编辑2:我尝试过.load('file:///C:/path/to/test.htm')在FF中运行但不是Chrome.

jquery google-chrome

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

在python中如何在其静态方法中获取类的名称

如何在静态方法中获取类的名称,我有继承并想要派生类的名称

在下面的例子中,在方法my_name()中代替XXX的是什么

class snake()
   @staticmethod
   def my_name():  
      print XXX.__name___

class python (snake)
   pass
class cobra (snake)
   pass

python.my_name()
# I want output to be python

cobra.my_name()   
# I want output to be cobra
Run Code Online (Sandbox Code Playgroud)

python

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

在Backbone.js中覆盖Model.get(attr)的最佳方法是什么?

我第一次使用Backbone.js,并且喜欢它到目前为止.有一件事我现在无法在模型的动态属性中解决.例如,假设我有一个Person模型,我想得到他们的全名:

var Person = Backbone.Model.extend({
  getFullName: function () {
    return this.get('firstName') + ' ' + this.get('surname');
  }
});
Run Code Online (Sandbox Code Playgroud)

然后我就能做到person.getFullName().但是我想让它与其他吸气剂保持一致,更像是person.get('fullName').如果不凌乱地覆盖Person#get,我不会看到如何做到这一点.或者这是我唯一的选择?

这是我迄今为止的最重要的选择:

var Person = Backbone.Model.extend({
  get: function (attr) {
    switch (attr) {
    case 'fullName':
      return this.get('firstName') + ' ' + this.get('surname');
      break;
    case 'somethingElse':
      return this.doSomethingClever();
      break;
    default:
      return Backbone.Model.prototype.get.call(this, attr);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

我想它并不可怕,但似乎应该有更好的方法.

javascript backbone.js

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

帮助JS和函数参数

JS是否支持具有相同名称和不同参数的两个函数?

function f1(a, b)
{
// a and b are numbers
}

function f1(a, b, c)
{
// a is a string
//b and c are numbers
}
Run Code Online (Sandbox Code Playgroud)

我可以使用那些JS函数用于IE7,FF,Opera没有问题吗?

javascript

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

使用make与msysgit

我在Windows 7上使用msysgit,但它似乎没有make.有没有一种简单的方法让make在msysgit上运行?

makefile msysgit

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

更改视图的模型时,更换模型或创建新视图更好吗?

我的Backbone应用程序中有一个电子邮件视图.它目前在view我的控制器的动作中实例化.它有点像这样:

routes: {
  'email/:id': email
},

//...

email: function (id) {
  var email = new Email({
    id: id
  });
  this.emailView = new EmailView({
    model: email
  });
  email.fetch();
}
Run Code Online (Sandbox Code Playgroud)

现在,问题是,如果我访问一封电子邮件,然后是另一封电子邮件,我最终会创建两个单独EmailView的邮件.这意味着,例如,其中的删除链接EmailView绑定到两个单独的Email模型,因此单击删除将删除两者(不是一件好事).

我正在寻找两种解决方案.在一个,我缓存EmailView,并更新其模型.那么问题是我必须重新绑定eventsin EmailView.

另一种解决方案EmailView是在我现在创建一个新的解决方案,但EmailView.el在替换之前解开旧的事件.

我是以正确的方式来做这件事的吗?有没有更好的方法来处理这种情况?提前干杯.

backbone.js

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