Sha256: 8f10a0289a6f6d3829d879e3f691bb2eb8e707faf23962ef65f7b2279c81d10d

Contents?: true

Size: 1.5 KB

Versions: 20

Compression:

Stored size: 1.5 KB

Contents

#include "rucy.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

20 entries across 20 versions & 1 rubygems

Version Path
rucy-0.1.28 .doc/ext/rucy/value.cpp
rucy-0.1.27 .doc/ext/rucy/value.cpp
rucy-0.1.26 .doc/ext/rucy/value.cpp
rucy-0.1.25 .doc/ext/rucy/value.cpp
rucy-0.1.24 .doc/ext/rucy/value.cpp
rucy-0.1.23 .doc/ext/rucy/value.cpp
rucy-0.1.22 .doc/ext/rucy/value.cpp
rucy-0.1.21 .doc/ext/rucy/value.cpp
rucy-0.1.20 .doc/ext/rucy/value.cpp
rucy-0.1.18 .doc/ext/rucy/value.cpp
rucy-0.1.16 .doc/ext/rucy/value.cpp
rucy-0.1.15 .doc/ext/rucy/value.cpp
rucy-0.1.14 .doc/ext/rucy/value.cpp
rucy-0.1.13 .doc/ext/rucy/value.cpp
rucy-0.1.12 .doc/ext/rucy/value.cpp
rucy-0.1.11 .doc/ext/rucy/value.cpp
rucy-0.1.10 .doc/ext/rucy/value.cpp
rucy-0.1.9 .doc/ext/rucy/value.cpp
rucy-0.1.8 .doc/ext/rucy/value.cpp
rucy-0.1.7 .doc/ext/rucy/value.cpp