# Default value?

**URL:** <https://www.ruby-forum.com/t/default-value/67422>\
**Category:** Ruby\
**Created:** [September 4, 2006, 2:43pm UTC](https://www.ruby-forum.com/t/default-value/67422 "2006-09-04T14:43:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [September 4, 2006, 2:43pm UTC](https://www.ruby-forum.com/t/default-value/67422/1 "2006-09-04T14:43:33Z")

</div>

i’m writting a C ext to Ruby.  
i want the User from ruby being able to pass 1 or 2 arg(s) to this ruby,  
without any Ruby wraper.

i know that in standard C their is no way to have a function with  
default value.

since i’m not really writting “standard C” rather than a C ext to Rubt,  
is their a workaround for that ?

for example :  
rb\_define\_method(cRAliasRecord, “my\_function”, m\_my\_function\_1\_arg,  
1);  
rb\_define\_method(cRAliasRecord, “my\_function”, m\_my\_function\_2\_args,  
2);

or something similar…

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [September 4, 2006, 2:43pm UTC](https://www.ruby-forum.com/t/default-value/67422/2 "2006-09-04T14:43:37Z")

</div>

Une bévue wrote:

> for example :  
> rb\_define\_method(cRAliasRecord, “my\_function”, m\_my\_function\_1\_arg,  
> 1);  
> rb\_define\_method(cRAliasRecord, “my\_function”, m\_my\_function\_2\_args,  
> 2);
> 
> or something similar…

This question came up just recently:

[http://www.google.com/search?q=site%3Ablade.nagaokaut.ac.jp+extension+default+argument](http://www.google.com/search?q=site%3Ablade.nagaokaut.ac.jp+extension+default+argument)

[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/211001](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/211001)

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [September 4, 2006, 2:43pm UTC](https://www.ruby-forum.com/t/default-value/67422/3 "2006-09-04T14:43:37Z")

</div>

Hi,

At Sun, 3 Sep 2006 20:05:39 +0900,  
Une bévue wrote in [ruby-talk:212421]:

> since i’m not really writting “standard C” rather than a C ext to Rubt,  
> is their a workaround for that ?

Define the method as -1 arity, and use rb\_scan\_args().  
There are a lot of examples in the source.

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [September 4, 2006, 2:43pm UTC](https://www.ruby-forum.com/t/default-value/67422/4 "2006-09-04T14:43:39Z")

</div>

[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Define the method as -1 arity, and use rb\_scan\_args().  
> There are a lot of examples in the source.

thanks a lot !

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [September 4, 2006, 2:43pm UTC](https://www.ruby-forum.com/t/default-value/67422/5 "2006-09-04T14:43:40Z")

</div>

Robin S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> This question came up just recently:
> 
> […]

thanks a lot !
