Tag: ruby 1.8

Ruby 1.8和UTF-8字符串case语句比较

我有一个Rake任务(在lib / tasks目录中),我在共享的Web托管上使用cron运行。 问题是我想使用案例陈述来比较UTF-8字符串,但我的源代码不是UTF-8编码的。 如果我将源代码保存为UTF-8,当我尝试启动它时会出错:( 我该怎么办? 可以从外部UTF-8 txt文件中读取这个字符串吗? PS我正在使用Ruby 1.8 PS我的意思是这样比较: result = case utf8string when ‘АБВ’: 1 when ‘ГДИ’: 2 when ‘ЙКЛ’: 3 when ‘МНО’: 4 else 5 end

我如何使用Ruby的SOAP :: Attachment类?

所以我正在为SOAP Web服务编写一个Ruby客户端,我已经想出了如何调用一个简单的方法: # WebServiceClient.rb require ‘soap/wsdlDriver’ wsdl_url = ‘http://urlmadness?wsdl’ service = SOAP::WSDLDriverFactory.new(wsdl_url).create_rpc_driver result = service.simpleMethod(:sayHello => ‘Hello’) p result.return 现在我需要编写一些可以调用Web方法的东西,该方法期望附加文件作为SOAP MIME附件(SwA)。 我查看了Ruby的SOAP::Attachment类,但我似乎无法弄清楚如何使用它,我无法在任何地方找到任何示例。 有人知道如何使用它来为方法调用添加MIME附件吗? 谢谢, 亚历克斯

如何计算Ruby 1.8.5中的重复哈希值(Sketchup Ruby API)

我需要计算重复项,它们需要100%相同以增加我的计数,但我不能使用Ruby 1.8.5中的任何内容,此代码将在google sketchup中的插件中运行 Google Sketchup Ruby API puts VERSION 1.8.5 puts RUBY_PLATFORM i686-darwin8.10.1 product = ‘Glass’ x = width y = length z = density product_list = [ { “product” => 1, “x” => 200, “y” => 100, “z” => 18}, { “product” => 1, “x” => 200, “y” => 100, “z” => 18}, { […]

如何在运行时动态创建实例方法?

[ruby1.8] 假设我有: dummy “string” do puts “thing” end 现在,这是对一个方法的调用,该方法具有一个字符串和一个块作为输入参数。 尼斯。 现在假设我可以有很多类似的调用(不同的方法名称,相同的参数)。 例: otherdummy “string” do puts “thing” end 现在因为他们做同样的事情,而且他们可以成百上千,我不想为想要的类中的每一个创建一个实例方法。 我想找到一种基于一般规则在运行时动态定义方法的智能方法。 那可能吗? 通常使用哪种技术? 谢谢

Ruby 1.8:散列#sort不返回散列但是数组(更好的方法是这样做吗?)

在Ruby 1.8的某些场景中。 如果我有哈希 # k is name, v is order foo = { “Jim” => 1, “bar” => 1, “joe” => 2} sorted_by_values = foo.sort {|a, b| a[1] b[1]} #sorted_by_values is an array of array, it’s no longer a hash! sorted_by_values.keys.join ‘,’ 我的解决方法是为Array类创建方法to_hash 。 class Array def to_hash(&block) Hash[*self.collect { |k, v| [k, v] }.flatten] […]

什么令人沮丧,你写的特定于ruby 1.9的代码?

到目前为止,我一直只使用YARV(ruby 1.9)作为ruby比ruby 1.8更快的实现,并确保我的所有代码都向后兼容ruby 1.8.6。 什么情况,如果有的话,阻止你编写特定于1.9的代码? 每个答案的一个原因。

为什么在Ruby 1.8.7中Symbol#to_proc较慢?

流行Ruby实现中Symbol#to_proc的相对性能表明,在MRI Ruby 1.8.7中, Symbol#to_proc比其基准测试中的替代品慢30%到130%,但在YARV Ruby 1.9中并非如此。 2。 为什么会这样? 1.8.7的创建者没有在纯Ruby中编写Symbol#to_proc 。 另外,有没有为1.8提供更快的Symbol#to_proc性能的gem? (当我使用ruby-prof时,符号#to_proc开始出现,所以我不认为我对过早优化感到内疚)

将时间转换为其他时区

我有这种格式的日期字符串yyyy-mm-ddThh:mm:ss [Z] 我有一个时区字符串。 例如“Asia / Kolkata” 现在我想将此日期字符串转换为给定时区的时区 例如,如果日期是2014-01-03T23:30:00Z,那么在“Asia / Kolkata”时区它将是2014-01-04T05:00:00。 我尝试使用时间库,但时间库似乎没有任何方法可以转换为其他时区http://ruby-doc.org/core-1.8.6/Time.html#method-c-mktime 。

(Ruby)让Net :: SMTP与Gmail一起工作……?

有没有人有关于使用Ruby的Net :: SMTP通过Gmail发送邮件的任何质量(和最新)信息? 我见过几个例子 – 大部分都是从2007年到2008年中期,但没有一个适合我。 我需要更多当前使用最新1.8.7版本的示例。 如果文档不仅涵盖了没有人真正使用的简单示例,我也很感激。 目前我收到一个错误: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol 关于SMTP协议,我对SSL并不十分熟悉,所以这一切都在我身上丢失了。 不幸的是,Net :: SMTP文档只涵盖了基础,并没有提供各种潜在的OpenSSL :: SSL上下文的完整列表,所以我不能尝试各种各样的。 无论如何,如果有任何关于如何使用Gmail的质量信息,我们将非常感激。 最好。

在Ruby 1.8中支持Ruby 1.9的哈希语法

我正在使用{key: ‘value’}语法为我的代码中的哈希编写一个Ruby gem。 我的测试全部通过1.9.x,但我(可以理解)在1.8.7中得到syntax error, unexpected ‘:’, expecting ‘)’ 。 是否有支持1.8.x的最佳实践? 我是否需要使用我们的老朋友重写代码=> ,还是有更好的策略?