问题标签 [mirah]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 没有语言运行时的基于 JVM 的语言
有谁知道一些替代 JVM 语言,无论它可能多么晦涩难懂,它可以编译成普通的旧 java 字节码,而不需要语言运行时。
我需要这个来尝试开发没有启动或大小损失的 android 应用程序。Scala、Clojure 和 Groovy 都需要与应用程序一起分发的自己的运行时库,因此它们不在这个问题的范围内。
声称满足这一目标的唯一一种语言是 Charles Nutter 的Mirah,但我无法让它在 windows 上工作。
编辑:澄清一下,我知道任何语言都必须有运行时库。显然,我正在寻找的是一种除了 JRE 之外不需要额外运行时的语言,或者至少非常有限的一种语言。
scala - Mirah 在 JRuby、Groovy 和 Scala 上提供了什么?
Mirah 语言比 JRuby、Groovy 和 Scala 提供什么?
android - ruby on android : ruboto vs rhodes?
有没有人尝试过使用 Ruby 开发 Android 应用程序?如果是这样,您会推荐哪种工具?比较(之间)两者的优点和缺点是什么?
任何经验、见解等的分享将不胜感激。
gem - '不知道如何构建任务'引导程序'是什么意思?
我正在尝试按照此处的说明构建 Mirah 。在“rake gem”步骤上,我收到了几个警告和失败通知。输出示例如下:
警告:org/dynalang/dynalink/MonomorphicCallSite.class(org/dynalang/dynalink:MonomorphicCallSite.class):主要版本 51 比 50 新,这是此编译器支持的最高主要版本。建议升级编译器。注意:/Users/paul/dev/interesting/mirah/src/org/mirah/DynalangBootstrap.java 使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。4 个警告构建 jar:/Users/paul/dev/interesting/mirah/javalib/mirah-bootstrap.jar rake 中止!不知道如何构建任务“引导程序”
我应该如何开始对此进行故障排除?例如,应该升级哪个编译器,如何升级?
mirah - 我怎样才能学习米拉?
对于 Mirah,我指的是 JVM 语言: http: //www.mirah.org/
在线可用的唯一有用文档是示例。我知道它说它具有类似 ruby 的语法,但我确实相信它有 Mirah 特有的怪癖。
我将如何继续识别各种语法怪癖?学习 Ruby 本身就足以学习 Mirah 吗?
谢谢!
mirah - 尝试执行示例 mirah 脚本时出错?
在尝试运行从示例文件夹中获取的 mirah 脚本时得到了这个。我该如何解决这个问题,谢谢!
android - Android 应用程序开发上的 SL4A 与 Ruboto
我正在考虑使用 JRuby(或适用于 Android 的 Ruby 的合适变体)在 Android 上创建应用程序。
根据我的研究,目前有两个项目支持在 Android 上进行 Ruby 开发:
- 鲁博托
- SL4A
从github上的 Ruboto wiki的FAQ看来,Ruboto 似乎已经为应用程序开发做好了准备,但还不支持 JIT 编译,并且应用程序必须与库打包,这使得它占用了很大的空间(用于移动设备安装)。
我对 SL4A 没有足够的了解,但似乎 SL4A 也尝试在 JVM 上运行 JRuby 脚本。不过最主要的是SL4A还处于alpha阶段,所以不知道能不能用于app开发。
对这些平台有更好了解的人可以建议应该使用哪一个吗?另外,在不久的将来,哪一个更有可能在 JIT(性能)、更低的占用空间和更好的 Android API 访问方面变得更加成熟?
mirah - Mirah 提供哪些元编程功能?
Mirah主页说
Mirah 支持编译时元编程和宏的各种机制。在 Mirah 中,动态语言的大部分“公开课”感觉都是可能的。
但我找不到任何细节。有没有人有进一步的信息?
java - Maven android编译多个源目录
我已经使用这个原型创建了一个 maven android 项目。我想将mirah源文件集成到我的项目中。所以我将这里提到的插件添加到我的 pom.xml 中。我为插件设置了配置部分,将源目录指向 src/main/mirah。
但是当我运行mvn compile
它时,它只会编译 src/main/java 中的源代码。我已经尝试运行它mvn -X compile
来尝试调试问题,但我找不到与 mirah 或 mirah-maven-plugin 相关的任何内容。
它使用原型创建了两个项目 - project 和 project-it (tests) ,根目录中有一个 pom.xml ,project 和 project-it 目录中有一个 pom.xml 。我已经在根目录以及项目的 pom.xml 中尝试了上述配置。
我遇到了这个与使用build-helper 插件相关的问题,但我不知道它是否对我有帮助。因为我的mirah插件根本没有被调用。
这是做我想做的事情的正确方法吗?任何有关设置的帮助或有关如何解决此问题的指针将不胜感激。
我的 pom.xml 的相关位
根据下面的答案进行编辑。
我已经使用build-helper 插件添加了源目录,并且我可以mvn org.mirah.maven:maven-mirah-plugin:1.0:compile
从下面的答案中获取要编译的 mirah 源。但mvn compile
仍然只编译 src/main/java 而不是 src/main/mirah 中的源代码。
对于任何对mvn -X compile
这里的输出感兴趣的人来说是paste。
ruby - Python 像 __getattr__ 用于 Ruby / JRuby
有没有类似 Python __getattr__
for Ruby 的东西?在 Python 中,obj.__getattr__
当引用未定义的属性(方法或属性)时调用。我method_missing
在 Ruby 中找到,但它不适用于属性。
我的用例是:我正在测试Mirah作为 JRuby -> Java 编译器。在标准 JRuby 中,Swing 方法和属性是“Rubyfied”(例如:label.setText "x" => label.text = "x"),但在 Mirah 中不是,因为 Mirah 没有像 JRuby 这样的专有运行时库. 然后,我想在运行时获取属性引用并将每个调用映射到相应的 Swing 方法(label.text => label.getText() / label.text = "x" => label.setText("x") ) .