我有以下Ruby程序:
require 'date'
class Person
def initialize(name, dob)
@name = name
@dob = dob
end
def age
Time.now - @dob
end
def marry(someone)
"Life: " + age.to_s
end
end
fred = Person.new('Fred', Date.new(1934, 4, 16))
p fred
p fred.age.to_s
p fred.marry(1)
Run Code Online (Sandbox Code Playgroud)
但是ruby 1.9.2给出了错误:
#<Person:0x2afab78 @name="Fred", @dob=#<Date: 1934-04-16 (4855087/2,0,2299161)>>
test1.rb:11:in `-': can't convert Date into an exact number (TypeError)
from test1.rb:11:in `age'
from test1.rb:22:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?TIA
在Perl中推荐日期算术的推荐方法是什么?
比如我想知道三天前从今天开始的日期(其中today= 2010-10-17和today - 3 days= 2010-10-13).你会如何在Perl中做到这一点?
简单地说:jQuery对象是一个复合模式.如何添加jQuery对象?
一个例子:
var e1 = $('#element1');
var e2 = $('#element2');
Run Code Online (Sandbox Code Playgroud)
...
我知道想要创建一个新的jQuery对象jq,它由e1和e2组成.我希望能够做类似以下的事情:
var jq = $();
jq.addInjQueryObjects([e1, e2]);
jq.hide();
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
顺便说一句,我意识到我可以刚开始选择#element1 AND#element2,这不是我所说的.
我有Author和Book模特.
一个Author有许多嵌入式Books.
我可以查询嵌入式Books,还是我必须Authors首先获取Books?
我希望拥有一堆物品,而不仅仅是数字.它们将具有一个整数属性,堆可以按其排序.在python中使用堆的最简单方法是heapq,但是在使用heapq时如何告诉它按特定属性排序?
如何开始为Windows编写驱动程序?那里有某种官方DDK"Hello World"的例子吗?
虽然我确信它最初会超越我的头脑,但最终我想创建一个简单的MIDI驱动程序,就像Maple Virtual MIDI Cable,其中MIDI消息来自用户应用程序而不是物理设备.
(使用现成的MIDI环回驱动程序的麻烦在于输入和输出端的存在常常让用户感到困惑.我的应用程序生成的MIDI输出被发送到其他程序的MIDI输入,所以如果我可以创建一个连接到我的程序而不是硬件的假驱动程序,它可以消除这种混乱.)
感谢您的时间.
我已经阅读了Ruby编程语言中有关运算符的部分,这让我想到了运算符关联性.顺便说一下,这不是一个Ruby问题 - 它适用于所有语言.
我知道运营商必须以某种方式关联,我可以看到为什么在某些情况下,一种方式会优于另一种方式,但我很难看到更大的图景.语言设计者是否有一些标准用来决定从左到右应该从哪里做什么?从右到左应该做什么?在某些情况下,它"只是有意义",因为它只是一种方式,而其他情况只是一种武断的决定吗?或者这背后有一些宏伟的设计?
language-agnostic programming-languages operators associativity
如果我想检查字符串是否包含aaa或aab或者?是否可以告诉我在绑定表达式中需要写什么模式?
$str = "Hello how are aaa you?";
print $str =~ m/what should i write here?/;
Run Code Online (Sandbox Code Playgroud) 我从现场的Ubuntu CD启动了我的系统,我需要解决一些包问题.我已经安装了我的硬盘,现在我想运行apt-get,好像我正常启动一样.即更改apt-get的工作目录,以便它可以在我的硬盘上运行.我以前做过这个,但我不记得语法了.我认为这只是一些旗帜,像这样:
apt-get --root-directory=/mnt/partition1 install....
Run Code Online (Sandbox Code Playgroud)
但我只得到"命令行选项...不理解".有任何想法吗?