Tag: 标准

Sinatra 1.3 Streaming w / Ruby stdout重定向

我想使用1.3中引入的Sinatra的Streamingfunction以及一些stdout重定向。 它基本上是一个长期工作的实时流输出。 我在自述文件中查看了这个问题和Sinatra流式传输示例。 在OSX上运行1.8.7: require ‘stringio’ require ‘sinatra’ $stdout.sync = true module Kernel def capture_stdout out = StringIO.new $stdout = out yield out ensure $stdout = STDOUT end end get ‘/’ do stream do |out| out << "Part one of a three part series… \n” sleep 1 out << "…part two… \n” sleep 1 out […]

命令行错误消息的“POSIX定义格式”是什么? 哪个标准?

在ruby-doc.org 页面上,我发现了以下关于命令行选项/参数解析(getopt库)的信息: 以POSIX定义的格式返回相应的错误消息。 如果没有发生错误,则返回nil。 什么是POSIX定义的命令行错误消息格式? 它是哪种POSIX标准? 编辑: 我必须澄清一下,在解析命令行参数/选项时,我对标准/推荐的错误消息感兴趣。 在下面的链接(答案)中,我发现只提到了getopt的这种错误格式: “%s: illegal option — %c\n”, , “%s: option requires an argument — %c\n”, , 一切都好吗?

迭代比线性代码慢吗? 哪个更好?

从最近几天开始,我脑子里有一个问题,那就是在ruby中编写代码时,线性代码比迭代更快更好吗? 让我举个例子。 有两个不同方式的相同function代码块: 方式1: [‘dog’, ‘cat’, ‘tiger’].each do |pet_name| puts “I have many pets, one of them is #{pet_name}.” end 方式2: puts “I have many pets, one of them is dog.” puts “I have many pets, one of them is cat.” puts “I have many pets, one of them is tiger.” 所以,我想知道哪一个更好,更可取? 根据我的观点,我认为第二个将花费更少的时间和记忆。 但我想证实一下。