初めまして、現在”関数型リアクティブプログラミング” 著Stephen Blackheath を読みながら勉強をしています。
その中で、一つどうしてもわからない箇所があったので、ご質問をさせていただきました。
Java言語にて、クラスの中に処理が書かれていないメソッド?のようなものがあるのですが、これがなんのために存在しているのかいまいちわかりません・・・。
C言語を以前触っており、関数を使用する前にしなければいけないプロトタイプ宣言に似たものなのかな・・・?と思いましたが、調べてみると、Java言語はする必要が無いようで、おそらく違うと見ています。
また、コードは書籍からの引用となりますので、最低限のものだけこちらに記載させていただきました。
sodiumというFRPライブラリがCentral Repositoryから参照されています。
また、他に同じディレクトリ下に6つのフォルダがあり、mavenを用いて参照されています。
一度その一行をコメントアウトすると、シンボルが見つからないというエラーが出たので、そのエラーメッセージからも少し調べましたが、これといった答えにはたどり着けませんでした・・・。
Java言語については完全に初心者ですが、どうかご教授お願いいたします。
Java
1 2import java.awt.Graphics; 3 4public class Drawable { 5 public void draw(Graphics g, int ht, Point orig, double scale) {}; //ここはなんのためにある・・・プロトタイプ宣言的な・・・?(なかったら動かない 6 public final Drawable append(Drawable second) { 7 Drawable first = this; 8 return new Drawable() { 9 public void draw(Graphics g, int ht, Point orig, double sc) { 10 first.draw(g, ht, orig, sc); 11 second.draw(g, ht, orig, sc); 12 } 13 }; 14 } 15}
以下加筆いたします。
エラーが出る場合のエラーメッセージです。
最初にlsでディレクトリの中身も記載しておきます。
hogehoge:continuous taka$ ls Animate.java Animation.java Drawable.java Point.java Shapes.java fwoomph.java pom.xml target hogehoge:continuous taka$ mvn test -Pfwoomph [INFO] Scanning for projects... [INFO] [INFO] ----------< nz.sodium.continuous-time:sodium-continuous-time >---------- [INFO] Building sodium-continuous-time 1.0.0 [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ sodium-continuous-time --- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory /Users/taka/continuous/src/main/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ sodium-continuous-time --- [INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! [INFO] Compiling 6 source files to /Users/taka/continuous/target/classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/taka/continuous/Drawable.java:[9,22] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: タイプDrawableの変数 first [ERROR] /Users/taka/continuous/Drawable.java:[10,23] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: タイプDrawableの変数 second [ERROR] /Users/taka/continuous/Shapes.java:[25,19] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: タイプDrawableの変数 dr [ERROR] /Users/taka/continuous/Shapes.java:[33,19] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: タイプDrawableの変数 dr [ERROR] /Users/taka/continuous/Shapes.java:[41,20] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: タイプDrawableの変数 drb [ERROR] /Users/taka/continuous/Shapes.java:[42,20] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: タイプDrawableの変数 dra [ERROR] /Users/taka/continuous/Animate.java:[26,26] シンボルを見つけられません シンボル: メソッド draw(java.awt.Graphics,int,Point,double) 場所: クラス Drawable [INFO] 7 errors [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.696 s [INFO] Finished at: 2018-10-04T16:41:32+09:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project sodium-continuous-time: Compilation failure: Compilation failure: [ERROR] /Users/taka/continuous/Drawable.java:[9,22] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: タイプDrawableの変数 first [ERROR] /Users/taka/continuous/Drawable.java:[10,23] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: タイプDrawableの変数 second [ERROR] /Users/taka/continuous/Shapes.java:[25,19] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: タイプDrawableの変数 dr [ERROR] /Users/taka/continuous/Shapes.java:[33,19] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: タイプDrawableの変数 dr [ERROR] /Users/taka/continuous/Shapes.java:[41,20] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: タイプDrawableの変数 drb [ERROR] /Users/taka/continuous/Shapes.java:[42,20] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: タイプDrawableの変数 dra [ERROR] /Users/taka/continuous/Animate.java:[26,26] シンボルを見つけられません [ERROR] シンボル: メソッド draw(java.awt.Graphics,int,Point,double) [ERROR] 場所: クラス Drawable [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
回答1件
あなたの回答
tips
プレビュー