[#408634] How do I make lots of classes aware of each other? — "Andrew S." <lists@...>

I'm apparently missing something fundamental in my knowledge of classes

10 messages 2013/07/02

[#408712] Ruby web service with REST support — "Shubhada S." <lists@...>

Hi All,

17 messages 2013/07/05

[#408812] create variables depending on counter — stefan heinrich <lists@...>

Hi community,

21 messages 2013/07/09

[#408854] execute commands within SMTP email code: send content in variables and not actual variables — dJD col <lists@...>

I am trying to send an email using the code below. I am able to send the

9 messages 2013/07/10

[#409031] tap { break } idiom deserves its own Kernel method? — Andy Lowry <lists@...>

I use this idiom from time to time:

13 messages 2013/07/22

[#409072] Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...>

This is what I want to do.

19 messages 2013/07/23
[#409102] Re: Link To Masses Of External Data In Openoffice? — Tamara Temple <tamouse.lists@...> 2013/07/24

[#409103] Re: Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...> 2013/07/25

tamouse m. wrote in post #1116598:

[#409122] Re: Link To Masses Of External Data In Openoffice? — Tamara Temple <tamouse.lists@...> 2013/07/26

[#409142] Re: Link To Masses Of External Data In Openoffice? — "Austin J." <lists@...> 2013/07/26

tamouse m. wrote in post #1116750:

[#409073] class <=> module — Bráulio Bhavamitra <lists@...>

Hello all,

17 messages 2013/07/23

[#409104] Ruby newbie question on Methods (NoMethoderror) — "Crispian A." <lists@...>

I have recently started learning ruby and so I am writing a small little

10 messages 2013/07/25

[#409170] Working through Ch.10 for learning to program 2.0 (Chris Pine) — JD JD <lists@...>

So, I have been working through this book, and have been doing ok up

33 messages 2013/07/28
[#409195] Re: Working through Ch.10 for learning to program 2.0 (Chris Pine) — Harry Kakueki <list.push@...> 2013/07/29

I tried this and came up with a one-liner that seems to do it. It sorts the

[#409258] WATIR - ScriptError popup on IE - Unable to get rid of! — Graeme Halls <lists@...>

I am new to Ruby & Watir, and I am having a nightmare with IE and Script

11 messages 2013/07/31

Re: Calculate input - numbers

From: Robert Klemme <shortcutter@...>
Date: 2013-07-27 12:00:16 UTC
List: ruby-talk #409154
On Sat, Jul 27, 2013 at 1:44 PM, Marc Heiler <lists@ruby-forum.com> wrote:

> Hi
>
> user_input = $stdin.gets.chomp
>
> Now the user types:
>
> "5 + 5"
>
> As string (without the quotes).
>
> user_input is now a string object containing "5 + 5"
>
> I would like to give back the result of the operation, which should be
> 10.
>
> Right now I use eval() and it works, but I am wondering if there is a
> better alternative for it? How does IRB solve this?
>

It probably also uses eval. In your case it's a security risk because
someone can enter "system('rm', '-rf', '$HOME')" and you'll see what
happens with that in eval.

The proper way is to use a parser for mathematical expressions.  That would
verify that the expression is OK and you could also use the AST to evaluate
it.  In Ruby you might actually be able to write such a parser with an
arcane regular expression because Ruby's Oniguruma is capable of matching
non regular languages (i.e. nested structures with matching brackets).  But
that'll look horrible I guess. :-)

Cheers

robert


-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread