[#397988] Help with sqlite3 please — Kaye Ng <lists@...>

I'm on Windows 7 Ultimate, 64-bit

18 messages 2012/08/03
[#397989] Re: Help with sqlite3 please — Chris Hulan <chris.hulan@...> 2012/08/03

sqlite is not ruby, so you should look for a sqlite group ;)

[#397990] Re: Help with sqlite3 please — Kaye Ng <lists@...> 2012/08/03

> However it looks like you have 'SQL' at the beginning of your CREATE

[#398031] Gem install or usage problem in shared environment — Tom Moulton <lists@...>

I am moving to a Westhost shared CPanel account and I am trying to set

17 messages 2012/08/04
[#398077] Re: Gem install or usage problem in shared environment — Tom Moulton <lists@...> 2012/08/06

I got a solution from WestHost and it may help others:

[#398086] Re: Gem install or usage problem in shared environment — Ryan Davis <ryand-ruby@...> 2012/08/07

[#398088] Re: Gem install or usage problem in shared environment — Tom Moulton <lists@...> 2012/08/07

Ryan Davis wrote in post #1071503:

[#398063] Join with ActiveRecord using non-standard schema — Tedi Roca <lists@...>

Hi,

13 messages 2012/08/06

[#398135] Help with database-related code pls — Kaye Ng <lists@...>

Hi guys! This is just a part of the code of a program that can load a

12 messages 2012/08/08

[#398190] How do you order your class methods? — masta Blasta <lists@...>

Just getting some layout ideas from other fellow devs.

11 messages 2012/08/10

[#398245] namespace instance methods? — John Doe <lists@...>

I have a large class with many instance methods that I want to

14 messages 2012/08/13

[#398287] Idea: def ... end returns the symbolized version of the newly-defined method, instead of nil — Peter <lumbergh@...>

This would allow useful syntax constructs such as this:

9 messages 2012/08/13

[#398362] case vs if-else — ajay paswan <lists@...>

Which one is faster?

20 messages 2012/08/16

[#398385] A Ruby class is never closed — Rubyist Rohit <lists@...>

Is it true that a Ruby class definition is never closed? Even after

18 messages 2012/08/16

[#398504] How to create an EXecutable file (Linux) — Fosiul Alam <lists@...>

Hi

13 messages 2012/08/22

[#398506] Save a file by clicking on a link — ajay paswan <lists@...>

I clicked a link to download a file using ruby, now I see the open-save

41 messages 2012/08/22

[#398641] force child threads run paralelly? — ajay paswan <lists@...>

I have created two child thread using main thread- child1 and child2.

19 messages 2012/08/28
[#398644] Re: force child threads run paralelly? — ajay paswan <lists@...> 2012/08/28

Ruby version:

[#398648] Re: force child threads run paralelly? — Tony Arcieri <tony.arcieri@...> 2012/08/28

On Tue, Aug 28, 2012 at 7:19 AM, ajay paswan <lists@ruby-forum.com> wrote:

[#398684] Can I do this with Ruby and sqlite alone? — Kaye Ng <lists@...>

Hi guys.

16 messages 2012/08/29

Re: OptionParser error handling (InvalidArgument)

From: Panagiotis Atmatzidis <ml@...>
Date: 2012-08-03 23:31:50 UTC
List: ruby-talk #398011
Hello,

Thanks for the reply.

On 3 Αυγ 2012, at 21:21 , sto.mar@web.de wrote:

> It is not clear to me what your problem is.

I dislike the way the error is displayed. I'd like to print a message like the one after the 'rescue' keyword. Maybe it's not a good practice though and I should leave it as is.

> Slightly adapted from the post cited by you:
> 
> -----
> require 'optparse'
> 
> options = {}
> 
> opts = OptionParser.new do |opts|
>  # Cast 'no' argument to an Integer.
>  opts.on('-n', '--no N', Integer, 'Number of...') do |no|
>    options[:no] = no
>  end
> end
> 
> opts.parse!(ARGV)
> 
> p options
> -----
> 
> results (as it should) in
> 
> $ ruby optparse.rb -n 34
> {:no=>34}
> 
> $ ruby optparse.rb -n duck
> optparse.rb:12:in `<main>': invalid argument: -n duck (OptionParser::InvalidArgument)
> 
> 
> Am 03.08.2012 18:03, schrieb Panagiotis Atmatzidis:
>> ----------------------------------------------------
>> # check if options[:no] is interger
>> 
>> if options[:no]
>>         begin
>>                 $no = Integer(options[:no])
>>         rescue ArgumentError
>>                 puts "#{$no} is not an Integer!"
>>         else
>>                 true
>>         end
>> else
>>         $no = 0
>> end
> 
> This is not necessary, since the option value has already been
> cast to an integer, or an exception has been raised.
> 
> Btw, you should not use global variables.

Why not?

> 
>> ----------------------------------------------------
>> but didn't work. The error I get from cli is:
>> 
>> f2bread.rb:483:in `<main>': invalid argument: -s duck (OptionParser::InvalidArgument)
>> 
>> Apparently I need to somehow handle this from within OptionParser. Any ideas on how to proceed?  I found this post[1] online which explains what I want but I couldn't figure how exactly it works. So some actual codes with a sort of explanation of where *exactly* sits on the program (outside or inside "OptionParser.new" class?).
>> 
>> The relevant OptionParser lines, where is specified that '-n' accepts Integers, are:
>> ----------------------------------------------------
>>  opts.on('-n', '--no N', Integer, 'Number of top entries to be displayed. By default all entries are displayed.') do |no|
>>                 options[:no] = no
>>         end
>> ----------------------------------------------------
> 
> actually, it *did* work. "duck" is not an integer,
> so an exception is raised.

I just want to print a predefined error message. It seems more easy to read to me, although as I said above, it might not be a good practice and I'm not sure anymore if I should add it or no :-P given the fact that you're the second person pointing out that "it's working as it should".

> 
>> [1] http://blog.segment7.net/2008/01/05/optionparser-argument-casting
> 
> 
> -- 
> <https://github.com/stomar/>
> 



A bit off-topic now. In your next email you told me that you dislike raising an exception in order to identify an integer. A second approach I found online was using regexp. However this was the answer I got from a user at 'stackoverflow' which convinced that this is the right way to go in ruby:

"Sarah: you can use a Regex but in order to handle all the cases that Ruby does when parsing integers (negative numbers, hex, octal, underscores e.g. 1_000_000) it would be a very big Regex and easy to get wrong. Integer() is canonical because with Integer ()you know for sure that anything that Ruby considers an integer literal will be accepted, and everything else will be rejected. Duplicating what the language already gives you is arguably a worse code smell than using exceptions for control. – Avdi " from http://stackoverflow.com/questions/1235863/test-if-a-string-is-basically-an-integer-in-quotes-using-ruby

Best Regards

Panagiotis Atmatzidis
-----------------------------
Pharmacy Student at VFU

email4lists: 	ml@convalesco.org
More info: 	http://about.me/atmosx

The wise man said: "Never argue with an idiot, he brings you down to his level and beat you with experience."





In This Thread