汇编语言和机器语言(对于相同的底层系统)是否真的相同?这两个概念之间有什么不同吗?
请考虑以下代码:
module ModName
def aux
puts 'aux'
end
end
Run Code Online (Sandbox Code Playgroud)
如果我们替换module用class,我们可以做到以下几点:
ModName.new.aux
Run Code Online (Sandbox Code Playgroud)
但是,模块不能被实例化.有没有办法aux在模块上调用方法?
我们可以像这样在顶层调用Array方法
Array(something)
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,它是一个没有显式接收器的方法调用,而self,在这种情况下是主要的,插入在方法调用的前面.但这不等于:
Kernel.Array(something)
Run Code Online (Sandbox Code Playgroud)
这对我没有意义.由于在第一种情况下,对象main是Object类,它将Kernel模块混入,因此具有Array方法.但在第二种情况下,我们在内核模块对象本身上调用Array方法,而不是主对象,它们不是不一样吗?
对不起,我的英语不好.
似乎在控制器的操作(方法)中设置多个实例变量会导致模板出现问题,只有第一个实例变量才会传递给模板.有没有办法将多个变量传递给模板?谢谢!为什么,从Ruby的角度来看,模板是否可以访问动作中的实例变量?
对象的哈希值是什么意思?在这种情况下,两个对象具有相同的哈希值?另外据说Array | Hash不能是Hash密钥,这与对象的哈希值有关,为什么呢?
使用Prototype,表示Form.Element.disable被整体禁用.有没有办法一次只禁用一个输入元素?
当我尝试这个:
$$('#signup .button')[0].disbled = false; ## didn't work
Run Code Online (Sandbox Code Playgroud)
对不起.实际上它有效.但是我在样式表中定义了一个禁用的样式,并且没有应用样式.有没有解决方法?
信号量是一种避免竞争条件的机制。但是信号量的初始值有什么意义呢?
假设一个信号量的初始值为 5,是不是 5 个进程可以同时访问某个共享资源?
当我尝试使用原型的$函数通过id获取元素时,我得到了一个null对象,并得到了这个奇怪的行为:
document.observe('dom:loaded', function() {
$$('.answer').each(function(answer) {
console.log('answer.id: ' + answer.id);
console.log('$(answer.id): ' + $(answer.id)); # works, so the element does exists
console.log("$('answer_73'): " + $('answer_73')); # this doesn't, why?..
console.log(' ');
});
});
Run Code Online (Sandbox Code Playgroud)
div是这样的:
<div id="answer_73" class="answer"> ...
Run Code Online (Sandbox Code Playgroud)
而且没有标记错误
日志:
....
answer.id:answer_73
$(answer.id):[object HTMLDivElement]
$('answer_73'):null
....
对不起,最后我发现没有出错......它只是一个类型:
<div class="answer" id="answer_<%= answer.id %> "
Run Code Online (Sandbox Code Playgroud)
这是导致这种"奇怪"行为的尾随空白.也许原型lib在返回对象的id时剥离了trailig id,因此在第一种情况下没有发生错误.
我已经学习了语言本身以及html/css/javascript.但没有数据库知识和(有点)网络知识.当我阅读关于ROR的实用书时,我发现它在创建项目和设置数据库和模型的最初阶段令人困惑.我是否应该首先学习一些数据库(和网络知识)知识,以便充分理解代码并完全掌握rails?如果是这样,请指出一些适合这些主题的书.提前致谢.对不起,我的英语不好..
假设有两个模型:用户和帖子,我想跟踪谁阅读了哪个帖子,谁写了哪个帖子,哪个用户喜欢哪个帖子等等.然后我想出了以下解决方案:
class User < ActiveRecord::Base
has_many :writings
has_many :posts, :through => :writings
has_many :readings
has_many :posts, :through => :readings
#..
end
class Post < ActiveRecord::Base
has_many :writings
has_many :posts, :through => :writings
#...
end
Run Code Online (Sandbox Code Playgroud)
并建立中间模型 - 写作,阅读.这是有效的,但最后我发现当我写这篇文章时
@user.posts #...
Run Code Online (Sandbox Code Playgroud)
返回的数组包含写作和读数的内务处理信息.我怎么解决这个问题.
ruby ×4
javascript ×2
activerecord ×1
architecture ×1
assembly ×1
inner-join ×1
instance ×1
isa ×1
machine-code ×1
module ×1
outer-join ×1
prototype ×1
prototypejs ×1
sql ×1