这是我的剧本
require 'benchmark'
require 'ostruct'
Benchmark.bmbm do |x|
n=10000
array = n.times.map{ |i| OpenStruct.new id: i }
hash = Hash[*(array.map{ |s| [s.id, s] }.flatten)]
x.report('array') do
array.find{ |s| s.id == 100}
end
x.report('hash') do
hash[100]
end
end
Run Code Online (Sandbox Code Playgroud)
为什么n=100000我得到:
stack level too deep (SystemStackError)
Run Code Online (Sandbox Code Playgroud)
?
不相关,但是,我是以最好的方式构建哈希?
我正在尝试使用与Sails.js 0.10的关联,我生成了我的应用程序:
sails new name --template jade --linker
Run Code Online (Sandbox Code Playgroud)
应用程序运行正常,但我没有看到任何assets/linker文件夹,就像我在0.9版本中所做的那样.是否所有文件默认在0.10中缩小?
我可以重新加载顺序http://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profile-bashrc-bash_login-profile-and-bash_logout/用source,但有一个短的路?
我的意思是,一个命令按顺序加载所有文件,而不是:
source /etc/profile
source ~/.bash_profile
source ~/.bashrc
source ~/.bash_login
source ~/.profile
Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法来包围文本,我知道这个插件
但太多的钥匙.
我尝试了我的方法
vmap ' <D-x>i'<esc><D-v>i'
vmap " <D-x>i"<esc><D-v>i"
Run Code Online (Sandbox Code Playgroud)
但这不起作用.无论如何,如果修复了这种方式,我怎么能将这种行为提取到一个允许我这样做的函数:
有关如何做到这一点的任何推荐阅读?
看到这个小提琴,如何在父母和孩子中没有固定宽度和高度的蓝色div居中?
这是在SO中发布的
<div class="parent">
<div class="child">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这些是定位元素,我希望孩子在屏幕的中心.
看到它在这里居中,但我不能在父母和儿童中使用固定的宽度和高度.我需要定位元素,因为我需要它们超过其他元素.
为什么这些表达式不同:
!x == "string"
Run Code Online (Sandbox Code Playgroud)
和
x != "string"
Run Code Online (Sandbox Code Playgroud)
至少第一个表达式不会进入我的if,当我更改它时,if代码被执行.
我无法让这个工作.我得到的错误是:
114''numberstash':未定义方法'cards'代表nil:Nilclass(无方法错误).
这是一个二十一点游戏.我花了几个小时试图修复这段代码,包括制作一堆测试脚本来解决这个问题.但是,我没有运气.这适用于我的测试脚本,但它不适用于当前脚本:
class Card
attr_accessor :suit, :value
def initialize(suit, value)
@suit = suit
@value = value
end
def to_s
"#{value} of #{suit}"
end
end
class Deck
attr_accessor :cards
def initialize(number_of_decks)
@cards = []
num = number_of_decks
counter = 0
while counter < num
['H','C', 'S', 'D'].product(['2','3','4','5','6','7','8','9','10','J','K','Q','A']).each do |arr|
@cards << Card.new(arr[0], arr[1])
end
counter += 1
end
end
end
class Player
attr_accessor :cards, :testvalue
def initialize
@cards = []
end
end
class Dealer
attr_accessor :cards
@cards = []
end …Run Code Online (Sandbox Code Playgroud) ruby ×3
arrays ×1
bash ×1
benchmarking ×1
css ×1
hashmap ×1
if-statement ×1
logic ×1
macvim ×1
modal-dialog ×1
popup ×1
sails.js ×1
vim ×1