summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormakoto kuwata <kwa@kuwata-lab.com>2011-03-22 16:57:37 +0900
committermakoto kuwata <kwa@kuwata-lab.com>2011-03-22 17:02:41 +0900
commit73a613b08cfcc344c60aa2f4ad12da571af8aaee (patch)
tree9f4cbb55c4977a6bddde1b0554a7ea0fc403893b
parent2ed6eb1739a87b80e53b74cf878dd6b6b815a008 (diff)
downloaderubis-73a613b08cfcc344c60aa2f4ad12da571af8aaee.tar.gz
[enhance] add examples for C++
-rw-r--r--examples/basic/Makefile9
-rw-r--r--examples/basic/example.ecpp33
2 files changed, 40 insertions, 2 deletions
diff --git a/examples/basic/Makefile b/examples/basic/Makefile
index 0868c96..0550ceb 100644
--- a/examples/basic/Makefile
+++ b/examples/basic/Makefile
@@ -1,4 +1,4 @@
-all = example.rb example.php example.c example.java example.scm example.pl example.js
+all = example.rb example.php example.c example.cpp example.java example.scm example.pl example.js
all: $(all)
@@ -12,6 +12,9 @@ example.php: example.ephp
example.c: example.ec
erubis -bl c example.ec > example.c
+example.cpp: example.ecpp
+ erubis -bl cpp example.ecpp > example.cpp
+
example.java: example.ejava
erubis -bl java example.ejava > example.java
@@ -28,7 +31,7 @@ example.js: example.ejs
###----------
-src = example.eruby example.ephp example.ec example.ejava example.escheme example.eperl example.ejs Makefile
+src = example.eruby example.ephp example.ec example.ecpp example.ejava example.escheme example.eperl example.ejs Makefile
clean:
rm -f `ruby -e 'puts(Dir.glob("*.*") - %w[$(src)])'`
@@ -38,6 +41,7 @@ compile: example.bin example.class
example.bin: example.c
cc -o example.bin example.c
+ g++ -o example.bin2 example.cpp
example.class: example.java
jikes example.java
@@ -46,6 +50,7 @@ output: $(all) example.bin example.class
erubis example.eruby > example.ruby.out
php example.php > example.php.out
./example.bin '<aaa>' 'b&b' '"ccc"' > example.c.out
+ ./example.bin2 '<aaa>' 'b&b' '"ccc"' > example.cpp.out
java example > example.javexample.bin
gosh example.scm > example.scm.out
# guile example.scm > example.scm.out
diff --git a/examples/basic/example.ecpp b/examples/basic/example.ecpp
new file mode 100644
index 0000000..44978b5
--- /dev/null
+++ b/examples/basic/example.ecpp
@@ -0,0 +1,33 @@
+<%
+#include <string>
+#include <iostream>
+#include <sstream>
+
+int main(int argc, char *argv[])
+{
+ int i;
+ std::stringstream _buf;
+
+%>
+<html>
+ <body>
+ <p>Hello <%= argv[0] %>!</p>
+ <table>
+ <tbody>
+ <% for (i = 1; i < argc; i++) { %>
+ <tr bgcolor="<%= i % 2 == 0 ? "#FFCCCC" : "#CCCCFF" %>">
+ <td><%= i %></td>
+ <td><%= argv[i] %></td>
+ </tr>
+ <% } %>
+ </tbody>
+ </table>
+ </body>
+</html>
+<%
+
+ std::string _output = _buf.str();
+ std::cout << _output;
+ return 0;
+}
+%>