Sha256: b3b2f65e497ba39892d274c0a7243018c5542d4e92feacafe4dfecd48c8559e2

Contents?: true

Size: 1.5 KB

Versions: 22

Compression:

Stored size: 1.5 KB

Contents

#include "defs.h"


using namespace Rucy;


static
VALUE true_to_value(VALUE self)
{
	return value(true);
}

static
VALUE false_to_value(VALUE self)
{
	return value(false);
}

static
VALUE NULL_to_value(VALUE self)
{
	return nil();
}

static
VALUE nil_value(VALUE self)
{
	return nil();
}

static
VALUE array_value(VALUE self)
{
	const Value* a = argv;
	switch (argc)
	{
		case 1:  return array(a[0]);
		case 2:  return array(a[0], a[1]);
		case 3:  return array(a[0], a[1], a[2]);
		case 4:  return array(a[0], a[1], a[2], a[3]);
		case 5:  return array(a[0], a[1], a[2], a[3], a[4]);
		case 6:  return array(a[0], a[1], a[2], a[3], a[4], a[5]);
		case 7:  return array(a[0], a[1], a[2], a[3], a[4], a[5], a[6]);
		case 8:  return array(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]);
		case 9:  return array(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);
		case 10: return array(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);
		case 0:
		default: argument_error(__FILE__, __LINE__);
	}
}


void
Init_value ()
{
	Module mRucy = rb_define_module("Rucy");
	Module mTester = rb_define_module_under(mRucy, "Tester");

	rb_define_method(mTester, "true_to_value", RUBY_METHOD_FUNC(true_to_value), -1);
	rb_define_method(mTester, "false_to_value", RUBY_METHOD_FUNC(false_to_value), -1);
	rb_define_method(mTester, "null_to_value", RUBY_METHOD_FUNC(NULL_to_value), -1);
	rb_define_method(mTester, "nil_value", RUBY_METHOD_FUNC(nil_value), -1);
	rb_define_method(mTester, "array_value", RUBY_METHOD_FUNC(array_value), -1);
}

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rucy-0.3.3 .doc/ext/rucy/value.cpp
rucy-0.3.2 .doc/ext/rucy/value.cpp
rucy-0.3.1 .doc/ext/rucy/value.cpp
rucy-0.3 .doc/ext/rucy/value.cpp
rucy-0.2.1 .doc/ext/rucy/value.cpp
rucy-0.2 .doc/ext/rucy/value.cpp
rucy-0.1.44 .doc/ext/rucy/value.cpp
rucy-0.1.43 .doc/ext/rucy/value.cpp
rucy-0.1.42 .doc/ext/rucy/value.cpp
rucy-0.1.41 .doc/ext/rucy/value.cpp
rucy-0.1.40 .doc/ext/rucy/value.cpp
rucy-0.1.39 .doc/ext/rucy/value.cpp
rucy-0.1.38 .doc/ext/rucy/value.cpp
rucy-0.1.37 .doc/ext/rucy/value.cpp
rucy-0.1.36 .doc/ext/rucy/value.cpp
rucy-0.1.35 .doc/ext/rucy/value.cpp
rucy-0.1.34 .doc/ext/rucy/value.cpp
rucy-0.1.33 .doc/ext/rucy/value.cpp
rucy-0.1.32 .doc/ext/rucy/value.cpp
rucy-0.1.31 .doc/ext/rucy/value.cpp