Merge branch 'master' of github.com:mruby/mruby

This commit is contained in:
Yukihiro "Matz" Matsumoto
2014-03-21 09:20:11 +09:00
4 changed files with 26 additions and 13 deletions
+4 -4
View File
@@ -3,10 +3,10 @@
## What's mruby
mruby is the lightweight implementation of the Ruby language complying to (part of)
the [ISO standard](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579).
mruby can be linked and embedded within your application. We provide the interpreter program "mruby" and
the [ISO standard](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579).
mruby can be linked and embedded within your application. We provide the interpreter program "mruby" and
the interactive mruby shell "mirb" as examples. You can also compile Ruby programs into compiled byte code
using the mruby compiler "mrbc". All those tools reside in "bin" directory. The "mrbc" is also able to
using the mruby compiler "mrbc". All those tools reside in the "bin" directory. "mrbc" is also able to
generate compiled byte code in a C source file. You can check the "mrbtest" program under the "test" directory.
This achievement was sponsored by the Regional Innovation Creation R&D Programs of
@@ -19,7 +19,7 @@ The stable version 1.0.0 of mruby can be downloaded via the following URL:
https://github.com/mruby/mruby/archive/1.0.0.zip
The latest mruby development version of can be downloaded via the following URL:
The latest development version of mruby can be downloaded via the following URL:
https://github.com/mruby/mruby/zipball/master
+6 -5
View File
@@ -14,8 +14,8 @@ To compile mruby out of the source code you need the following tools:
Optional:
* GIT (to update mruby source and integrate mrbgems easier)
* C++ compiler (to use GEMs which include *.cpp)
* Assembler (to use GEMs which include *.asm)
* C++ compiler (to use GEMs which include \*.cpp)
* Assembler (to use GEMs which include \*.asm)
## Usage
@@ -175,6 +175,7 @@ Integrate GEMs in the build process.
See doc/mrbgems/README.md for more option about mrbgems.
### Mrbtest
Configuration Mrbtest build process.
@@ -186,7 +187,7 @@ If you want mrbtest.a only, You should set ```conf.build_mrbtest_lib_only```
### Bintest
Tests for mrbgem tools using CRuby.
To have bintests place *.rb scripts to ```bintest/``` directory of mrbgems.
To have bintests place \*.rb scripts to ```bintest/``` directory of mrbgems.
See ```mruby-bin-*/bintest/*.rb``` if you need examples.
If you want a temporary files use `tempfile` module of CRuby instead of ```/tmp/```.
@@ -285,7 +286,7 @@ result will be stored in *build/host/src/y.tab.c*)
* create *build/host/lib/libmruby_core.a* out of all object files (C only)
* create ```build/host/bin/mrbc``` by compiling *tools/mrbc/mrbc.c* and
linking with *build/host/lib/libmruby_core.a*
* create *build/host/mrblib/mrblib.c* by compiling all *.rb files
* create *build/host/mrblib/mrblib.c* by compiling all \*.rb files
under *mrblib* with ```build/host/bin/mrbc```
* compile *build/host/mrblib/mrblib.c* to *build/host/mrblib/mrblib.o*
* create *build/host/lib/libmruby.a* out of all object files (C and Ruby)
@@ -359,7 +360,7 @@ in *build/i386/src*)
* generate parser grammar out of *src/parse.y* (generated
result will be stored in *build/i386/src/y.tab.c*)
* cross-compile *build/i386/src/y.tab.c* to *build/i386/src/y.tab.o*
* create *build/i386/mrblib/mrblib.c* by compiling all *.rb files
* create *build/i386/mrblib/mrblib.c* by compiling all \*.rb files
under *mrblib* with the native ```build/host/bin/mrbc```
* cross-compile *build/host/mrblib/mrblib.c* to *build/host/mrblib/mrblib.o*
* create *build/i386/lib/libmruby.a* out of all object files (C and Ruby)
+10
View File
@@ -210,6 +210,16 @@ module Enumerable
end
end
##
# call-seq:
# enum.count -> int
# enum.count(item) -> int
# enum.count { |obj| block } -> int
#
# Returns the number of items in +enum+ through enumeration.
# If an argument is given, the number of items in +enum+ that
# are equal to +item+ are counted. If a block is given, it
# counts the number of elements yielding a true value.
def count(v=NONE, &block)
count = 0
if block
+6 -4
View File
@@ -5,12 +5,14 @@ assert('TrueClass', '15.2.5') do
assert_equal Class, TrueClass.class
end
assert('TrueClass superclass', '15.2.5.2') do
assert_equal Object, TrueClass.superclass
end
assert('TrueClass true', '15.2.5.1') do
assert_true true
assert_equal TrueClass, true.class
assert_false TrueClass.method_defined? :new
end
assert('TrueClass superclass', '15.2.5.2') do
assert_equal Object, TrueClass.superclass
end
assert('TrueClass#&', '15.2.5.3.1') do