我知道有几个关于此的帖子,但我是堆栈
这是我的C代码
#include </usr/include/ruby-1.9.1/ruby/ruby.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
ruby_init();
rb_eval_string("puts 'hello'");
ruby_finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在sublime text 2中编译它时遇到以下错误
In file included from /Users/pierrebaille/Code/Ruby/embedRuby/embedRubyFirst.c:1:
/usr/include/ruby-1.9.1/ruby/ruby.h:1481:24: error: ruby/subst.h: No such file or directory
[Finished in 0.1s with exit code 1]
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
我正在寻找一种方法来从DOM访问Polymer自定义元素的属性,或者将数据从Polymer.register发送到DOM.
下面这个非常简单的元素采用两个值并将它们相乘,将结果放在其result属性中.
如何从外部访问此结果?
<element attributes='value times result' name='value-box'>
<template>
<p>{{result}}</p>
</template>
<script>
Polymer.register(this, {
ready: function() {
if (this.value != null && this.times != null) {
this.result = this.value * this.times;
}
}
});
</script>
</element>
Run Code Online (Sandbox Code Playgroud) 如何从目录中加载每个clojure文件?
以下代码不起作用,但说自己("文件夹"在我的src /项目目录中)
(load "folder/*")
Run Code Online (Sandbox Code Playgroud) 我有一个多方法:
(defmulti foo type)
(defmethod foo clojure.lang.Keyword [k] (name k))
Run Code Online (Sandbox Code Playgroud)
我想知道这样的事情是否可行:
(valid-dispatch? foo clojure.lang.Keyword)
;;=> true
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种转换方法:
[1,2,3,nil,4,5,nil,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
成:
[[1,2,3],[4,5],[6,7,8,9]]
Run Code Online (Sandbox Code Playgroud)
在Ruby中有没有内置的方法可以做到这一点?
我正在寻找一种方法将我的助手功能保持在文件的底部,而不是将它们全部声明在顶部.
一个解决方案应该是编写一个"declare-helpers"函数,该函数获取当前文件中通过defn-macro创建的所有函数的名称,并将它们包装在声明调用中.
在这里,我问的是获取这些名字的更好方法.
*编辑*
我知道这是不好的做法但是,以下代码似乎做了我想要的
请注意,它仅适用于使用"dehfn"宏定义的辅助函数
;define helper function
(defmacro dehfn [name & body]
`(defn- ~name ~@body))
(defmacro declare-helpers []
`(declare ~@(map symbol
(re-seq #"(?<=dehfn\s)[a-zA-Z+!\-_?0-9*~#@''`/.$=]*(?=\s)"
(slurp (str "src/" *file*))))))
Run Code Online (Sandbox Code Playgroud)
现在你可以这样做:
(declare-helpers)
(defn hello-user [name] (greet name))
(dehfn greet [name] (str "Hello my dear " name))
Run Code Online (Sandbox Code Playgroud)