有没有办法在jekyll网站中包含自定义css标签,同时对输入文件使用markdown; 例如,当我想突出某个段落时?
我正在尝试在rails上安装ruby,到目前为止,所有内容都已安装,但是当我尝试使用创建数据库时rake db:create
,出现一个奇怪的错误:
dyld:懒惰的符号绑定失败:找不到符号:_mysql_get_client_info引用自:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle预期在:平面命名空间
dyld:未找到符号:_mysql_get_client_info引用自:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle预期在:平面名称空间
跟踪/ BPT陷阱:5
我正在研究osx山狮最新更新。有人对我有合适的解决方案吗?
让我们打开课程Module
并为其添加一个方法:
class Module
def foo
puts "phew"
end
end
Run Code Online (Sandbox Code Playgroud)
我可以通过这样做来调用这个方法,
Class.foo
Run Code Online (Sandbox Code Playgroud)
这是可以理解的,因为Class
是Class
超类的类Module
.所以它可以调用中定义的实例方法Module
.
现在,bar
下面的方法是在Module
'eigenclass 上定义的:
class Module
def self.bar
puts "bar"
end
end
Run Code Online (Sandbox Code Playgroud)
但现在
Class.bar
Run Code Online (Sandbox Code Playgroud)
也有效.
有人可以解释一下如何在特征类Class
中访问方法Module
吗?
我想我现在明白了.方法查找不像我之前解释的那样工作.当我这样做的时候Class.foo
,这个方法是在特征Class
类中进行搜索,然后是超类,它是本Module
征类的特征类,直到它的特征类BasicObject
,此时它会转向自身(就像蛇吃它自己的尾巴)来寻找方法Class
(就像'eigenclass Class
的超类BasicObject
一样)然后到它的超类Module
,它找到了方法.
类似地,当我这样做时Class.bar
,方法在Class
's eigenclass中搜索,然后在Module
它找到它的本征类中搜索.
当我做
class Class
def check
puts "class instance method"
end
end …
Run Code Online (Sandbox Code Playgroud) 我能得到Infinity
并且NaN
通过
n = 9.0 / 0 #=> Infinity
n.class #=> Float
m = 0 / 0.0 #=> NaN
m.class #=> Float
Run Code Online (Sandbox Code Playgroud)
但是当我想要访问Infinity
或NaN
直接访问时:
Infinity #=> uninitialized constant Infinity (NameError)
NaN #=> uninitialized constant NaN (NameError)
Run Code Online (Sandbox Code Playgroud)
什么是Infinity
和NaN
?它们是对象,关键字还是其他什么?
我的目标是找到给定字符串中具有最多重复字母数的单词.例如,"aabcc ddeeteefef iijjfff"
会返回,"ddeeteefef"
因为"e"
在这个单词中重复了五次,这比所有其他重复的字符多.
到目前为止,这是我得到的,但它有很多问题,并不完整:
def LetterCountI(str)
s = str.split(" ")
i = 0
result = []
t = s[i].scan(/((.)\2+)/).map(&:max)
u = t.max { |a, b| a.length <=> b.length }
return u.split(//).count
end
Run Code Online (Sandbox Code Playgroud)
我只能找到连续模式的代码; 如果模式被中断(例如"aabaaa"
,它会计数三次而不是五次).
我想做事件委托并通过绑定到整个文档的事件处理程序捕获DOM对象上发生的所有事件.将事件绑定到以下内容之间是否有任何区别window
:
window.addEventListener(event, function(e){
var obj = e.target;
... // if `obj` is a certain kind of object, then do something
}, false);
Run Code Online (Sandbox Code Playgroud)
并window.document
在下面?
window.document.addEventListener(event, function(e){
var obj = e.target;
... // if `obj` is a certain kind of object, then do something
}, false);
Run Code Online (Sandbox Code Playgroud)
event
是某种事件一样'click'
,'mouseover'
等
Zed Shaw's Learn Ruby the Hard Way第9章使用三重双引号:
puts """
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
"""
Run Code Online (Sandbox Code Playgroud)
我试着用单双引号写同样的东西,它似乎工作正常.我不明白三重和单双引号之间的区别.我错过了什么吗?
我的理解是,非数组对象上的单个 splat 调用to_a
然后将元素分离。由于nil.to_a
被定义为[]
,因此会发生以下转换:
[:foo, *nil, :bar]
# => [:foo, *nil.to_a, :bar]
# => [:foo, *[], :bar]
# => [:foo, :bar]
Run Code Online (Sandbox Code Playgroud)
通过类比,我认为非哈希对象上的 double splat 调用to_h
然后将键值对分离。由于nil.to_h
被定义为{}
,我预计会发生以下转换:
{"foo" => 1, **nil, "bar" => 2}
# => {"foo" => 1, **nil.to_h, "bar" => 2}
# => {"foo" => 1, **{}, "bar" => 2}
# => {"foo" => 1, "bar" => 2}
Run Code Online (Sandbox Code Playgroud)
但实际上,它会引发一个错误:no implicit conversion of nil into Hash
。为什么它会这样?
编辑我不是在问设计背后的原因。我想问我关于双打的想法哪里错了。
我有一个方法只采用一个参数:
def my_method(number)
end
Run Code Online (Sandbox Code Playgroud)
如果使用number < 2
?调用方法,如何引发错误?通常,我如何定义方法参数的条件?
例如,我想在调用时出错:
my_method(1)
Run Code Online (Sandbox Code Playgroud)