【问题标题】:Problem to convert Array of a string to ruby object将字符串数组转换为 ruby​​ 对象的问题
【发布时间】:2020-09-30 17:54:32
【问题描述】:

我尝试传递字符串数组以使用 ruby​​ 中的 puts 使用数学运算符打印它的值。但是得到错误的结果。我觉得它需要转换为对象来实现这一点,如下所示。

my_string_array     =  ["100*(4+1)"]
my_string = my_string_array.join(' ') # => "100*(4+1)"
my_ruby_valuation = my_string.to_i # => 100 (Wrong)

我期待的是

puts my_ruby_valuation #=> 500

【问题讨论】:

  • 您是否尝试执行字符串中的代码?在这种情况下,请使用eval,但需要注意安全问题。
  • 是的,(感谢安全问题,但这是此问题的内部流程)。这是工作你会移动或在答案中添加你的评论

标签: arrays regex ruby type-conversion


【解决方案1】:

你应该使用 eval 核函数。 https://apidock.com/ruby/Kernel/eval

 my_string_array     =  ["100*(4+1)"]
 eval(my_string_array[0])

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    相关资源
    最近更新 更多