hellojava 0.0.3-java → 0.0.5-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -1
- data/ext/hellojava/JavaCallTest.java +13 -1
- data/ext/hellojava/JavaCallTest2.java +20 -0
- data/lib/hellojava.rb +83 -6
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd8720bbd199d2a6550935f31fcb287c4a34c56989c37423e21b75e0a2c105fc
|
4
|
+
data.tar.gz: c7d9b01cfc2c859b8b22d2ee96d1a0aa4104bec9426d12c9d771aa9cb995235b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97a9371b1ea24d09271d19ea2e3a3d89c170a997370ef1c0e52dbcb653f0b316113b1b9e6990f318871f99be6d83f4a9e4fb16fe31980117a412f7383b3dc440
|
7
|
+
data.tar.gz: d51e36fb15912e52fa54d3859b1e826f9470833eec0b422a887c8f49ef262451ddbed1d86ccd7725ccb66cb389607c55eb410068ca04d3d5c081f5e1c6bf3487
|
data/CHANGELOG.md
CHANGED
@@ -2,10 +2,23 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
+
## [0.0.5] - 2023-12-31
|
6
|
+
|
7
|
+
### Added
|
8
|
+
- Add parameter test of Hash Type.
|
9
|
+
|
10
|
+
### change
|
11
|
+
- chg function name from func_d to func_v.
|
12
|
+
|
13
|
+
## [0.0.4] - 2023-11-03
|
14
|
+
|
15
|
+
### Added
|
16
|
+
- Add parameter test of function type.
|
17
|
+
|
5
18
|
## [0.0.3] - 2023-10-21
|
6
19
|
|
7
20
|
### Added
|
8
|
-
- Add test
|
21
|
+
- Add parameter test of A two-dimensional array.
|
9
22
|
|
10
23
|
## [0.0.2] - 2023-09-27
|
11
24
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import java.util.ArrayList;
|
2
|
+
import java.util.Map;
|
2
3
|
|
3
4
|
public class JavaCallTest {
|
4
5
|
public static String str1() {
|
@@ -16,6 +17,17 @@ public class JavaCallTest {
|
|
16
17
|
}
|
17
18
|
System.out.println();
|
18
19
|
}
|
19
|
-
}
|
20
|
+
}
|
21
|
+
public static void hash(Map<String, double[]> vals) {
|
22
|
+
System.out.println("hash in");
|
23
|
+
for(Map.Entry<String, double[]> entry : vals.entrySet()) {
|
24
|
+
System.out.print(entry.getKey());
|
25
|
+
double[] v = entry.getValue();
|
26
|
+
for(int i = 0; i < v.length; i++) {
|
27
|
+
System.out.printf(" %f", v[i]);
|
28
|
+
}
|
29
|
+
System.out.println();
|
30
|
+
}
|
31
|
+
}
|
20
32
|
}
|
21
33
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import java.util.function.Function;
|
2
|
+
import java.util.function.Consumer;
|
3
|
+
import java.util.function.Predicate;
|
4
|
+
import java.util.function.Supplier;
|
5
|
+
|
6
|
+
public class JavaCallTest2 {
|
7
|
+
public static void funcType1(String str, Consumer<String> func) {
|
8
|
+
System.out.println("funcType1 in");
|
9
|
+
func.accept(str);
|
10
|
+
}
|
11
|
+
public static String funcType2(Supplier<String> func) {
|
12
|
+
System.out.println("funcType2 in");
|
13
|
+
return func.get();
|
14
|
+
}
|
15
|
+
public static double funcType3(double[] vals, Function<double[], Double> func) {
|
16
|
+
System.out.println("funcType3 in");
|
17
|
+
return func.apply(vals);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
data/lib/hellojava.rb
CHANGED
@@ -2,8 +2,11 @@ require 'java'
|
|
2
2
|
require 'hellojava.jar'
|
3
3
|
java_import 'java.lang.System'
|
4
4
|
java_import 'JavaCallTest'
|
5
|
+
java_import 'JavaCallTest2'
|
5
6
|
java_import 'Hoge'
|
7
|
+
java_import 'java.util.HashMap'
|
6
8
|
|
9
|
+
# jrubyからjavaの呼び出し
|
7
10
|
module HelloJavaLib
|
8
11
|
# Systemクラス使用
|
9
12
|
#
|
@@ -40,7 +43,7 @@ module HelloJavaLib
|
|
40
43
|
end
|
41
44
|
# 引数に二次元配列の場合
|
42
45
|
#
|
43
|
-
# @overload
|
46
|
+
# @overload func_v(fname, vals)
|
44
47
|
# @param [String] fname 文字列
|
45
48
|
# @param [Array] vals 二次元の配列(double[][])
|
46
49
|
# @return [void]
|
@@ -49,23 +52,97 @@ module HelloJavaLib
|
|
49
52
|
# [12.3, 22.5, 33.7, 44.6],
|
50
53
|
# [12.3, 22.5, 33.7, 44.6, 55.8],
|
51
54
|
# ]
|
52
|
-
# HelloJavaLib::
|
55
|
+
# HelloJavaLib::func_v("fname.jpg", vals)
|
53
56
|
# =>
|
54
57
|
# fname:fname.jpg size:2
|
55
58
|
# vals[0] size:4
|
56
59
|
# 12.300000 22.500000 33.700000 44.600000
|
57
60
|
# vals[1] size:5
|
58
61
|
# 12.300000 22.500000 33.700000 44.600000 55.800000
|
59
|
-
def
|
60
|
-
|
62
|
+
def func_v(fname, vals)
|
63
|
+
JavaCallTest.sub1(
|
61
64
|
fname, vals.to_java(Java::double[])
|
62
65
|
);
|
63
66
|
return
|
64
67
|
end
|
68
|
+
# 引数にHashの場合
|
69
|
+
#
|
70
|
+
# @overload func_h(vals)
|
71
|
+
# @param [Hash] vals Hash(String, double[])
|
72
|
+
# @return [void]
|
73
|
+
# @example
|
74
|
+
# vals = {
|
75
|
+
# "dt1" => [12.3, 22.5, 33.7, 44.6],
|
76
|
+
# "dt2" => [12.3, 22.5, 33.7, 44.6, 55.8],
|
77
|
+
# }
|
78
|
+
# HelloJavaLib::func_h(vals)
|
79
|
+
# =>
|
80
|
+
# hash in
|
81
|
+
# dt1 12.300000 22.500000 33.700000 44.600000
|
82
|
+
# dt2 12.300000 22.500000 33.700000 44.600000 55.800000
|
83
|
+
def func_h(vals)
|
84
|
+
o = HashMap.new
|
85
|
+
vals.each{|k, v|
|
86
|
+
o[k] = v.to_java(Java::double)
|
87
|
+
}
|
88
|
+
JavaCallTest.hash(o)
|
89
|
+
end
|
90
|
+
# 引数に関数型の場合
|
91
|
+
class FuncTypes
|
92
|
+
class << self
|
93
|
+
# @overload func_type1(str, &func)
|
94
|
+
# @param [String] str 文字列
|
95
|
+
# @param [block] func 関数型(引数:文字列, 戻り値:なし)
|
96
|
+
# @return [void]
|
97
|
+
# @example
|
98
|
+
# HelloJavaLib::FuncTypes.func_type1("Hello") {|s|
|
99
|
+
# p s + "!!"
|
100
|
+
# next
|
101
|
+
# }
|
102
|
+
# =>
|
103
|
+
# funcType1 in
|
104
|
+
# "Hello!!"
|
105
|
+
def func_type1(str, &func)
|
106
|
+
JavaCallTest2.funcType1(str, func)
|
107
|
+
return
|
108
|
+
end
|
109
|
+
# @overload func_type2(&func)
|
110
|
+
# @param [block] func 関数型(引数:なし, 戻り値:文字列)
|
111
|
+
# @return [void]
|
112
|
+
# @example
|
113
|
+
# HelloJavaLib::FuncTypes.func_type2() {
|
114
|
+
# next "Hello"
|
115
|
+
# }
|
116
|
+
# =>
|
117
|
+
# funcType2 in
|
118
|
+
# "Hello"
|
119
|
+
def func_type2(&func)
|
120
|
+
p JavaCallTest2.funcType2(func)
|
121
|
+
return
|
122
|
+
end
|
123
|
+
# @overload func_type3(vals, &func)
|
124
|
+
# @param [Array] vals double型の配列(duble[])
|
125
|
+
# @param [block] func 関数型(引数:double[], 戻り値:double)
|
126
|
+
# @return [void]
|
127
|
+
# @example
|
128
|
+
# vals = [11, 22, 33, 44]
|
129
|
+
# HelloJavaLib::FuncTypes.func_type3(vals) {|xi|
|
130
|
+
# next xi.sum(0.0) / xi.length
|
131
|
+
# }
|
132
|
+
# =>
|
133
|
+
# funcType3 in
|
134
|
+
# 27.5
|
135
|
+
def func_type3(vals, &func)
|
136
|
+
p JavaCallTest2.funcType3(vals.to_java(Java::double), func)
|
137
|
+
return
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|
141
|
+
end
|
65
142
|
module_function :func_a
|
66
143
|
module_function :func_b
|
67
144
|
module_function :func_c
|
68
|
-
module_function :
|
69
|
-
|
145
|
+
module_function :func_v
|
146
|
+
module_function :func_h
|
70
147
|
end
|
71
148
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hellojava
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- siranovel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -20,8 +20,8 @@ dependencies:
|
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 12.3.3
|
22
22
|
name: rake
|
23
|
-
prerelease: false
|
24
23
|
type: :development
|
24
|
+
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
@@ -40,8 +40,8 @@ dependencies:
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: 1.2.5
|
42
42
|
name: rake-compiler
|
43
|
-
prerelease: false
|
44
43
|
type: :development
|
44
|
+
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
@@ -64,6 +64,7 @@ files:
|
|
64
64
|
- ext/hellojava/Calc.java
|
65
65
|
- ext/hellojava/Hoge.java
|
66
66
|
- ext/hellojava/JavaCallTest.java
|
67
|
+
- ext/hellojava/JavaCallTest2.java
|
67
68
|
- lib/hellojava.rb
|
68
69
|
homepage: http://github.com/siranovel/stdy4act
|
69
70
|
licenses:
|