我正在制作一个小游戏,其中一部分我想要一个非常简单的自定义编程语言.如果用户输入代码,例如variable "helloWorld" = 5"解释器"会将变量更改为var并将引号删除为普通JavaScript.
我该如何运行该代码?我已经读到了eval(),但我也读过它很慢,不应该使用.我已经研究了使用词法分析器,解析器和标记器创建编程语言,但我并不打算创建一些深入的东西.
对方向的任何帮助都会很棒.
在config/routes.rb中:
resources :posts do
resources :comments
end
resources :pictures do
resources :comments
end
Run Code Online (Sandbox Code Playgroud)
我想允许更多的事情被评论.
我目前正在使用mongoid(mongomapper并不像我想的那样与Rails 3兼容),而注释是一个嵌入式资源(mongoid还不能处理多态关系资源),这意味着我确实需要父资源为了找到评论.
有没有优雅的方法来处理以下一些问题:
在我的控制器中,我需要在找到评论之前找到父母:
if params[:post_id]
parent = Post.find(params[:post_id]
else if params[:picture_id]
parent = Picture.find(params[:picture_id]
end
Run Code Online (Sandbox Code Playgroud)
如果我开始添加更多可评论的内容,那将会变得混乱.
也url_for([comment.parent, comment])不起作用,所以我将不得不在我的Comment模型中定义一些东西,但我认为我还需要在Comment模型中定义索引路径以及可能的编辑和新路由定义.
随着我的进一步发展,我可能会遇到更多问题.
我无法想象我是第一个尝试解决这个问题的人,是否有任何解决方案可以使其更易于管理?
我有这个:
$("#MyInputBox").keypress(function (e) {
if (e.charCode != 0) {
var regex = new RegExp("^[a-zA-Z0-9\-\s]+$");
var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (!regex.test(key)) {
e.preventDefault();
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,它不允许我进入空间.我希望它允许一个空间.其他一切都很好(即我可以输入数字,字母,短划线......但不能输入空格.)
这两个代码示例有什么区别?
1:
class SubType(type):
def __init__(cls, name, bases, dct):
super().__init__(name, bases, dct)
Run Code Online (Sandbox Code Playgroud)
2:
class SubType(type):
def __init__(cls, name, bases, dct):
pass
Run Code Online (Sandbox Code Playgroud) 在这种情况下,我可以将值插入Member表和Club表。但是,有一个叫场:task中memberships,我要提交一个值表,并在成员表中member_id,并club_id会被Rails自动插入。如何task在下面的表格中包含该字段?先感谢您。
查看/表格:
<%= form_for @member ,:url=>{:action =>"create"} do |f| %>
<%= f.text_field :email %>
<%= f.fields_for :clubs do |s| %>
<%= s.text_field :name %>
<% end %>
<%= f.submit "submit" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
楷模
class Member < ActiveRecord::Base
has_many :clubs ,:through=> :memberships
has_many :memberships
accepts_nested_attributes_for :clubs
attr_accessible :clubs_attributes
end
class Club < ActiveRecord::Base
has_many :members ,:through=>:memberships
has_many :memberships
end
class Memberships < ActiveRecord::Base
belongs_to :Member
belongs_to :Club
end
Run Code Online (Sandbox Code Playgroud) 我跟着这篇文章
我尝试使用此命令ssh -T git@github.com,我收到了反馈:Hi Tran! You've successfully authenticated, but GitHub does not provide shell access.这表明我的ssh密钥和GitHub帐户都可以.
这是我的存储库的Webhook图像:

我认为问题是github.php文件的内容:
<?php `git pull`;?>
Run Code Online (Sandbox Code Playgroud)
我试过替换`with'(单引号),但它是一样的.推后,我没有看到我的服务器有任何变化.
我目前正在我正在开发的网站上进行IE浏览:http: //www.timkjaerlange.com/wip/co2penhagen/
这个无序列表出了问题.IE似乎为每个li元素添加额外的上边距,使我的导航看起来像一段楼梯:http: //dl.getdropbox.com/u/228089/ie-prob.jpg
我正在使用条件评论来定位IE.我试过了:
ul#mainnav li { top-margin: 0;}
Run Code Online (Sandbox Code Playgroud)
但这没有任何作用.我希望IE有一个Firebug风格的插件,这样可以更容易地解决这些问题.
有关可能导致此问题的原因的任何想法?
当在Ruby中的方法内部时,print和之间有什么区别return?
def squared_number(num)
return (num**2)
end
Run Code Online (Sandbox Code Playgroud)
和
def squared_number(num)
print (num**2)
end
Run Code Online (Sandbox Code Playgroud) 该$_POST['reply']变量包含html标签,<p>text goes here</p>但我无法将其插入数据库.因为reply我使用TinyMCE,当我不使用它(输入为无标签)时,text goes here它被正确插入.
我在这里错过了什么?
try {
$db = new PDO(DB_DRIVER . ":dbname=" . DB_DATABASE . ";host=" . DB_SERVER, DB_USER, DB_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $db->prepare("INSERT INTO replies(article_id, comment) VALUES (:article_id, :comment)");
$stmt->bindParam(':article_id', $article_id, PDO::PARAM_INT);
$stmt->bindParam(':comment', $_POST['reply'], PDO::PARAM_STR);
if($stmt->execute()) {
echo 'success';
}
$db = null;
} catch(PDOException $e) {
trigger_error('Error occured while trying to insert into the DB:' . $e->getMessage(), E_USER_ERROR);
}
Run Code Online (Sandbox Code Playgroud)
这是表单代码: …
尝试在我的帮助程序操作符中返回我的操作系统时,我收到一个奇怪的错误.这是代码:
std::ostream operator<<(std::ostream& os, const Item& i) {
i.display(os);
return os;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的编译器告诉我它无法访问但我不知道为什么或如何解决它.有任何想法吗?
我想弄清楚 svg 文件是如何工作的。我使用 JavaScript 成功地找出了路径的描边破折号的数量:
var path = document.querySelector(".aa")
path.getTotalLength();
Run Code Online (Sandbox Code Playgroud)
当您签出 svg 文件时,会发现三个元素。第一个是路径,第二个是矩形,最后一个是圆形。
控制台不断在矩形和圆形上显示错误消息。有什么解决办法吗?
这是我的原始代码:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="imacSVG" x="0" y="0" viewBox="0 0 1800 1200" xml:space="preserve" enable-background="new 0 0 1800 1200">
<path d="M423.5 251.1c0 0 1.2-25.2 23.6-25.2 22.3 0 909.9 0.7 909.9 0.7s19.5-0.6 19.5 21.4 0 597 0 597 1.5 21.5-21.5 21.5 -909 0-909 0 -22.5-1.4-22.5-21.8C423.5 824.2 423.5 251.1 423.5 251.1z" class="aa"/>
<rect x="466.6" y="271.6" width="865.5" height="540" class="bb"/>
<circle cx="900.5" cy="246" r="8.2" class"cc"/>
</svg>
Run Code Online (Sandbox Code Playgroud) 在上周的"用C编程"中期,最后一个问题是编写一个程序来打印1到100的数字列表,但每3个打印嘶嘶声,5个嗡嗡声的多个,以及3个和5个打印fizzbuzz的倍数.刚得到我的成绩我得到了76%,我确信我还有其他问题,所以我的代码中一定有错误.我试图解决它(不记得我在纸上写的东西)我的问题是我基本上有它工作,但它也打印数字,数字应该被替换为单词.这是我到目前为止的代码.
#include <stdio.h>
int main (void)
{
int x,y;
printf("this should count from 1 to 100, and instead of printing the multiples of 3 or 5 or 3 and 5 it should print words\n");
for (x=1; x<=100; x++)
{
if (x%3==0)
{
printf("fizz\n");
}
if (x%5==0)
{
printf("buzz\n");
}
if (x%3==0 && x%5==0)
{
printf("FizzBuzz\n");
}
printf("%d\n",x);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我实际上并没有"重新接受"测试或类似的事情所以我不是在试图作弊,我只是对这里需要做的事感到困惑.我得到的输出是
1
2
fizz
3
4
buzz
5
fizz
6
7
8
fizz
9
buzz
10
11
fizz
12 …Run Code Online (Sandbox Code Playgroud)