最简洁的咖啡脚本是什么

# ruby    
3.times { puts 'hi' }

?

我能想到的最好的办法是:

# coffeescript
for n in [1..3]
  console.log 'hi'

推荐答案

console.log 'hi' for [1..3]

要正确处理0个问题:

console.log 'hi' for [1..n] if n

或者使用原型魔法:

Number::times = (fn) ->
  do fn for [1..@valueOf()] if @valueOf()
  return
3.times -> console.log 'hi'

请注意,不建议使用第二种方法,因为更改Number原型会产生全局影响.

Edit: Changed according to @BrianGenisio's comment (.prototype. -> ::)

Edit 2: fixed handling of 0, thanks @Brandon

Ruby相关问答推荐

从同名方法调用 ruby​​ 中的方法

VS Code Prettier 打破哈希访问

Ruby ERB 类给出未定义的局部变量或方法,但 erb 解析良好

多线程期间的 MRI ruby​​ 内存访问特性

在Ruby中按字母顺序对数组中的数组进行排序?

Rack::Request - 如何获取所有标头?

将数组转换为哈希,其中键是索引

如何使用 Ruby 的 optparse 解析没有名称的参数

独立于 Rails 使用 HAML 文件中的布局

什么是 Sinatra/Rack 的非常简单的身份验证方案

osx bash上的树命令

C# ?? Ruby 中的运算符?

Ruby字符串上的扫描和匹配有什么区别

Ruby 中方法名称的限制是什么?

如何使用 Ruby 2.3 中引入的 Array#dig 和 Hash#dig?

如何获取当前 rake 任务的 PID?

错误数量的参数(1 代表 0)在 Ruby 中是什么意思?

如何从Ruby中的哈希表中获取第一个键值对

如何在ruby脚本中隐藏终端的密码输入

你可以在Ruby中使用分号吗?