summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-03-21 09:20:11 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-03-21 09:20:11 +0900
commitbb5e4cfd6d1ff5c3a3b2e0cd0090444cad38254f (patch)
treeaecbdb331d79c8130bc20d11ccb7c6fd5dd98428
parent298c07d6ca246e1fb876c77cd93aee81108a7c6c (diff)
parente96a1bc4e66850e1b1fe269d266688c04a4cd189 (diff)
downloadmruby-bb5e4cfd6d1ff5c3a3b2e0cd0090444cad38254f.tar.gz
mruby-bb5e4cfd6d1ff5c3a3b2e0cd0090444cad38254f.zip
Merge branch 'master' of github.com:mruby/mruby
-rw-r--r--README.md8
-rw-r--r--doc/compile/README.md11
-rw-r--r--mrbgems/mruby-enum-ext/mrblib/enum.rb10
-rw-r--r--test/t/true.rb10
4 files changed, 26 insertions, 13 deletions
diff --git a/README.md b/README.md
index fbfed5fc6..34abdc0b7 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/doc/compile/README.md b/doc/compile/README.md
index d0dfaf9c2..a06a6b952 100644
--- a/doc/compile/README.md
+++ b/doc/compile/README.md
@@ -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)
diff --git a/mrbgems/mruby-enum-ext/mrblib/enum.rb b/mrbgems/mruby-enum-ext/mrblib/enum.rb
index 4be807640..c0f0ea3f2 100644
--- a/mrbgems/mruby-enum-ext/mrblib/enum.rb
+++ b/mrbgems/mruby-enum-ext/mrblib/enum.rb
@@ -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
diff --git a/test/t/true.rb b/test/t/true.rb
index 3aebf43a1..e5da2112c 100644
--- a/test/t/true.rb
+++ b/test/t/true.rb
@@ -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