最近,在OCaml官方github上宣布 //call this line after crop it
if(requestCode == Crop.REQUEST_CROP){
handleCrop(resultCode, data);
}
case PICK_FROM_FILE:
mImageCaptureUri = data.getData();
beginCrop(mImageCaptureUri);
break;
private void beginCrop(Uri source) {
Uri destination = Uri.fromFile(new File(getCacheDir(), "cropped"));
Crop.of(source, destination).asSquare().start(this);
}
private void handleCrop(int resultCode, Intent result) {
if (resultCode == RESULT_OK) {
// mImage.setImageURI(Crop.getOutput(result));
Picasso.with(SettingsActivity.this).load(Crop.getOutput(result)).transform(new RoundTransform()).into(mImage);
mImageCaptureUri=Crop.getOutput(result);
getImageUri(mImageCaptureUri); //this method uri stored to sdcard
} else if (resultCode == Crop.RESULT_ERROR) {
Toast.makeText(this, Crop.getError(result).getMessage(), Toast.LENGTH_SHORT).show();
}
}
被Camlp4
(https://github.com/ocaml/camlp4)取代:
Camlp4是官方OCaml发行版的一部分,直到其版本 4.01.0。从那以后,它被一个更简单的系统取代,更容易维护和学习:ppx重写器和扩展点。
我一直在使用ppx rewriters and extension points
为DSL编写解析器(从OCaml中分离语法)。
那么,我想问一下Camlp4
工具是否可以做同样的事情?
感谢您花时间阅读我的问题!
答案 0 :(得分:7)
没有。 PPX专门用于扩展OCaml语言功能,保留其语法,可能使用属性和扩展点。它不提供像CamlP4这样的解析器生成器。如果您构建的语法与OCaml完全不同,请坚持使用P4。 PPX对你没有帮助。
CamlP4尚未停产。它成为OCaml编译器的独立工具:https://github.com/ocaml/camlp4您还应该能够使用opam install camlp4
安装它。