Ruby:如何从用户输入动态构建哈希

SB *_* D 0 ruby

我有一个像这样的哈希

h = {a: 1, b: 2, c: 3, d: 4.....z: 26}
Run Code Online (Sandbox Code Playgroud)

现在用户输入1然后如果用户输入2然后6到下一个5意味着6到11,我将获取前5

我怎样才能以最好的方式来解决这个问题

Pav*_*nko 5

h = {a: 1, b: 2, c: 3, d: 4.....z: 26}

user_input = 1

Hash[h.to_a[((user_input - 1) * 5 )..( (user_input * 5) - 1)]]
#=> {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5} 
Run Code Online (Sandbox Code Playgroud)