相关疑难解决方法(0)

EventMachine vs Node.js

我将开发一个协作网站,其中一个功能将是实时更改的协作编辑.即,当两个或更多用户正在编辑同一个文档时,他们可以在发生时立即看到彼此的变化.我对Ruby on Rails有一些经验,所以我在考虑使用EventMachine,但是围绕Node.js的所有这些炒作,我知道考虑使用它.那么,使用Node.js而不是EventMachine的主要好处是什么?

tl; dr EventMachine和Node.js之间的主要区别是什么(除了语言)?

ruby-on-rails event-driven eventmachine commonjs node.js

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

如何在Ruby中引用函数?

在python中,引用函数非常简单:

>>> def foo():
...     print "foo called"
...     return 1
... 
>>> x = foo
>>> foo()
foo called
1
>>> x()
foo called
1
>>> x
<function foo at 0x1004ba5f0>
>>> foo
<function foo at 0x1004ba5f0>
Run Code Online (Sandbox Code Playgroud)

但是,它似乎在Ruby中有所不同,因为裸体foo实际上调用了foo:

ruby-1.9.2-p0 > def foo
ruby-1.9.2-p0 ?>  print "foo called"
ruby-1.9.2-p0 ?>  1
ruby-1.9.2-p0 ?>  end
 => nil 
ruby-1.9.2-p0 > x = foo
foo called => 1 
ruby-1.9.2-p0 > foo
foo called => 1 
ruby-1.9.2-p0 > x
 => 1 
Run Code Online (Sandbox Code Playgroud)

我如何实际将 …

ruby first-class-functions ruby-1.9

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

Ruby函数与方法

Ruby Programming Language第6章(第2段)中,他们指出:

许多语言区分没有关联对象的函数和在接收器对象上调用的方法.因为Ruby是纯粹面向对象的语言,所以所有方法都是真正的方法,并且至少与一个对象相关联.

然后在第6段的中间:

procs和lambdas都是函数而不是在对象上调用的方法.

我对这些陈述有点困惑.Ruby是纯粹的纯OO,因此没有与对象无关的函数(如果这是纯OO的有效定义),还是与Proc对象关联的procs/lambdas?Ruby中的函数和方法有什么区别?

任何解析和理解这一点的帮助将不胜感激.

ruby methods lambda function

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

不是Ruby中的对象的"事物"示例

"一切都是对象"是我学习Ruby的第一件事,但是在Peter Cooper的Beginning Ruby中:从初学者到专业人士,提到" Ruby中几乎所有东西都是对象".

你能给我一些例子的事情是不是在Ruby对象?

ruby oop

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

Ruby如何完全面向对象?

所以,我很好奇Ruby是一种完全面向对象的语言.我偶然发现了一个对我来说不太清楚的问题.

如果我定义一个函数如下

def foo(text)
  print text
end
Run Code Online (Sandbox Code Playgroud)

我在一个类之外定义函数,这个函数如何成为一个对象?我意识到我可以打电话

foo.class
Run Code Online (Sandbox Code Playgroud)

我得到了NilClass.这是否意味着foo是NilClass的一个实例?如果是的话,当我打电话时,它究竟意味着什么

foo "hello world"
Run Code Online (Sandbox Code Playgroud)

如果foo是一个对象,当我按上述方式进行语句时,我会调用什么方法.此外,如果它是一个对象,这是否意味着我可以修改它并添加另一个方法(比如bar),我可以在其中制作以下语句:

foo.bar(some variables)
Run Code Online (Sandbox Code Playgroud)

对不起,我在这一点上有点困惑.非常感谢任何澄清!谢谢!

ruby oop

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

Ruby中的[....]是什么?

我在另一个晚上意外地在Ruby中做了相同的事情:

a = *1..5  # => [1, 2, 3, 4, 5]
a << a
a          # => [1, 2, 3, 4, 5, [...]]
a.last     # => [1, 2, 3, 4, 5, [...]]
Run Code Online (Sandbox Code Playgroud)

[...]我能用它做什么,有什么用呢?

ruby object

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

Ruby:变量是ruby中的对象吗?

我听说红宝石中的一切都是对象.我在一次采访中回答说变量是一个对象,面试官说不.有人知道真相吗?

ruby variables

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

Ruby on Rails - params是方法还是哈希?

所以,我想了入门的Ruby on Rails的的部分指导这里.

我不明白本教程中的一行.引用它:

PARAMS方法是代表参数(或场)从表单来的在对象中.

我确实有一些以前的rails经验,我总是假设params是一个哈希.但在这里他们称之为method which is an object.

params一个method还是一个hash?另外,在ruby中,方法也是对象吗?

ruby ruby-on-rails

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

什么是"if/unless"等等

考虑到Ruby中的所有东西都是一个对象,我们可以打开irb并输入类似的东西4.class"Text".class查看一个对象是哪个类,为什么这样做if.class并且unless.class没有给出返回值?

ruby oop irb

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

ruby中非面向对象的方面

我听说"Ruby是纯粹的OOP语言","Ruby中的所有东西都是对象".如果是这样,为什么我们有这两种情况呢?

  1. 函数类似于字符串对象putsprint处理它.根据OOP规则,对象的方法是应该操纵它的状态的方法.
  2. 我试图在irb中定义函数,并接受它.编写函数不是面向对象的,因为如果它是面向对象的,我们就不能以这种方式定义函数; 我们应该像在C#中一样在类中定义它们.

任何人都可以解释这两种情况如何符合"Ruby是纯OOP语言"这一短语吗?

ruby

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