Maison  >  Article  >  interface Web  >  Explication détaillée de l'utilisation de JavaScript en langage R

Explication détaillée de l'utilisation de JavaScript en langage R

php是最好的语言
php是最好的语言original
2018-08-04 09:16:145435parcourir

Le package js est un outil permettant d'utiliser JavaScript dans R. Il implémente des liaisons avec plusieurs bibliothèques JavaScript populaires et est utilisé pour compiler, vérifier, reformater, optimiser et analyser le code JavaScript. Basées sur le package V8, ces bibliothèques peuvent être appelées

1. Vérifiez que le code JavaScript est syntaxiquement correct dans R

#js_typeof(),如果代码无效将引发SyntaxError,用于验证单个函数或对象
callback<-&#39;function test(x, y){var z = x*y ;return z;}&#39;
js_typeof(callback)  #&#39;function&#39;
js_typeof(&#39;function(x,y){return x + y}&#39;) #&#39;function&#39;
conf<-&#39;{foo : function(){},bar : 123}&#39;
js_typeof(conf) #&#39;object&#39;

#JavaScript程序验证:由JavaScript语句集合组成,用js_validate_script()函数
jscode<-readLines(system.file("js/uglify.min.js",package="js"),warn=FALSE)
js_validate_script(jscode) #TRUE
js_validate_script(&#39;function(x, y){return x + y}&#39;, error = FALSE) #FALSE不允许在全局范围内定义匿名函数

2 : analyse, prise en charge d'ECMAScript2017 et. renvoie un format d'arbre de syntaxe raisonnable standardisé par le projet ESTree

esprima_tokenize(text,range=FALSE,loc=FALSE,comment=FALSE) #返回data.frame
text:JavaScript代码的字符向量,range:以0为基准注释每个标签的起始位置+结束位1:300,loc:注释每个标签起始行+起始列+终止行+终止列的位置,numeric类型

esprima_parse(text,jsx = FALSE,range = FALSE,loc = FALSE,tolerant = FALSE,tokens = FALSE,comment = FALSE) #返回&#39;JS_EVAL&#39;类型,解析成树形结构

3. Compilation de coffeescript, compilation du script de café en JavaScript, le code est compilé un à un en JS équivalent et la fonction coffeescript est liée. au café script cpmpiler

cat(coffee_compile("square = (x) -> x * x"))
cat(coffee_compile("square = (x) -> x * x",bare=T))

demo<-readLines(system.file("example/demo.coffee", package = "js"))
cat(demo, sep = "\n")
js<-coffee_compile(demo) #输出js脚本
cat(js)
uglify_optimize(js) #压缩js,将代码重写为更紧凑但等效的程序

4.uglify_reformat reformatage, très approprié pour réparer les espaces, les points-virgules, etc.

code <- "function test(x, y){x = x || 1; y = y || 1; return x*y;}"
cat(uglify_reformat(code, beautify = TRUE, indent_level = 2))

5.Analyse du code JSHint, détectant automatiquement les erreurs et les erreurs potentielles dans Code JavaScript Question, renvoie data.frame

code <- "var foo = 123"
jshint(code)

Articles associés :

r langage - où trouver des cours d'enseignement sur le langage R, MySQL et Hadoop

Comment PHP appelle-t-il des fonctions en langage R, tout comme il appelle des fonctions en langage C

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn