# Trollop 1.0 released

**URL:** <https://www.ruby-forum.com/t/trollop-1-0-released/83835>\
**Category:** Ruby\
**Created:** [January 30, 2007, 4:24am UTC](https://www.ruby-forum.com/t/trollop-1-0-released/83835 "2007-01-30T04:24:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![trucker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ecae2f/32.png) [@trucker](https://www.ruby-forum.com/u/trucker)\
**Post date:** [January 30, 2007, 4:24am UTC](https://www.ruby-forum.com/t/trollop-1-0-released/83835/1 "2007-01-30T04:24:44Z")

</div>

Trollop version 1.0 has been released!

[http://trollop.rubyforge.org](http://trollop.rubyforge.org)

Trollop is YAFCLAP — yet another fine commandline argument  
processing library for Ruby. Trollop is designed to provide the  
maximal amount of GNU-style argument processing in the minimum number  
of lines of code (for you, the programmer).

Trollop provides a nice automatically-generated help page, robust  
option parsing, and sensible defaults for everything you don’t  
specify.

Synopsis:

###### simple

opts = Trollop::options do  
opt :monkey, “Use monkey mode.”  
opt :goat, “Use goat model”, :default =\> true  
opt :num\_limbs, “Set number of limbs”, :default =\> 4  
end

p opts

###### complex

opts = Trollop::options do  
version “test 1.2.3 (c) 2007 William M.”  
banner \<\<-EOS  
Test is an awesome program that does something very, very important.

Usage:  
test [options] +  
where [options] are:  
EOS

```
opt :ignore, "Ignore incorrect values"
opt :file, "Extra data filename to read in, with a very long option 

```

description like this one", :type =\> String  
opt :volume, “Volume level”, :default =\> 3.0  
opt :iters, “Number of iterations”, :default =\> 5  
end  
Trollop::die :volume, “must be non-negative” if opts[:volume] \< 0  
Trollop::die :file, “must exist” unless File.exists?(opts[:file]) if  
opts[:file]

== REQUIREMENTS:

- none

Changes:

== 1.0 / 2007-01-29

- Initial release.

---

<div class="post-metadata">

**Author:** ![trucker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ecae2f/32.png) [@trucker](https://www.ruby-forum.com/u/trucker)\
**Post date:** [January 30, 2007, 9:00pm UTC](https://www.ruby-forum.com/t/trollop-1-0-released/83835/2 "2007-01-30T21:00:50Z")

</div>

Nice work! Thank you!

Jan

---

<div class="post-metadata">

**Author:** ![trucker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ecae2f/32.png) [@trucker](https://www.ruby-forum.com/u/trucker)\
**Post date:** [January 30, 2007, 9:36pm UTC](https://www.ruby-forum.com/t/trollop-1-0-released/83835/3 "2007-01-30T21:36:53Z")

</div>

On 1/29/07, William M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Usage:  
> test [options] +  
> where [options] are:  
> EOS

How would I access the “filenames” arguments with Trollop?

Justin

---

<div class="post-metadata">

**Author:** ![trucker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ecae2f/32.png) [@trucker](https://www.ruby-forum.com/u/trucker)\
**Post date:** [January 30, 2007, 10:25pm UTC](https://www.ruby-forum.com/t/trollop-1-0-released/83835/4 "2007-01-30T22:25:59Z")

</div>

Justin B. schrieb:

> > How would I access the “filenames” arguments with Trollop?  
> > ARGV 🙂

Jan

---

<div class="post-metadata">

**Author:** ![trucker](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ecae2f/32.png) [@trucker](https://www.ruby-forum.com/u/trucker)\
**Post date:** [January 30, 2007, 9:50pm UTC](https://www.ruby-forum.com/t/trollop-1-0-released/83835/5 "2007-01-30T21:50:53Z")

</div>

Justin B. schrieb:

> How would I access the “filenames” arguments with Trollop?  
> Look into ARGV. 🙂

Jan
