以下是我目前正在做的任务的摘录:
构建一个虚拟应用程序:
- 包含可在单个资源上运行的REST API.
- 包含使用该API的Backbone客户端,可以列出,显示,创建,更新和删除该资源.
我的理解是,"消费"一词意味着API暴露的资源的全部覆盖.但是,该任务说"消耗该API 并且可以[CRUD]该资源".
这句话是多余的还是我对错误一词的理解?
(额外的问题:为什么在Google上搜索这个问题会为"使用API"返回无数特定于语言的教程,但没有一个解释该术语实际意味着什么?).
嘿伙计们,谢谢你的阅读
我目前正在尝试使用Google风格的计算器.您输入一个字符串,它确定是否可以计算并返回结果.
我从基础开始慢慢开始:+ - / *
和括号处理.
我愿意随着时间的推移改进计算器,并且在前一段时间学习了一些关于词法分析的知识,我构建了一个令牌列表和相关的正则表达式模式.
这种工作很容易适用于Lex和Yacc等语言,除了我正在开发一个仅限Javascript的应用程序.
我试图将这个想法转录成Javascript,但我无法弄清楚如何以干净漂亮的方式处理所有内容,尤其是嵌套的括号.
让我们定义一个计算器查询:
// NON TERMINAL EXPRESSIONS //
query -> statement
query -> ? // means end of query
statement -> statement operator statement
statement -> ( statement )
statement -> prefix statement
statement -> number
number -> integer
number -> float
// TERMINAL EXPRESSIONS //
operator -> [+*/%^-]
prefix -> -
integer -> [0-9]+
float -> [0-9]+[.,][0-9]+
Run Code Online (Sandbox Code Playgroud)
词法分析包括验证没有任何东西看起来不像终端表达式之一:运算符,前缀,整数和浮点数.哪个可缩短为一个正则表达式:
(我添加了空格以使其更具可读性)
var calcPat =
/^ (\s*
( ([+/*%^-]) | ([0-9]+) …
Run Code Online (Sandbox Code Playgroud) 我在Rails路由系统中找不到关键字"mount"的含义.
我已经设置了Mercury以在我的Rails应用程序中使用.它将此行添加到我的routes.rb
配置文件中:
Appname::Application.routes.draw do
mount Mercury::Engine => '/'
Run Code Online (Sandbox Code Playgroud)
什么是mount
关键字是什么意思?
众所周知,因为它是关于SO的最常见的主题之一,我遇到了舍入错误的问题(实际上并不是错误,我很清楚).我不会解释我的观点,而是举例说明我可能拥有的数字以及我希望能够获得的输入:
让我们说吧
var a = 15 * 1e-9;
alert(a)
Run Code Online (Sandbox Code Playgroud)
输出
1.5000000000000002e-8
Run Code Online (Sandbox Code Playgroud)
我希望能够获得1.5e-8
,但我不能只乘以10e8,舍入并除以10e8,因为我不知道它是e-8还是e-45或其他任何东西.
所以基本上我希望能够获得该1.5000002
部分,应用toFixed(3)
并放回指数部分.
我可以转换成字符串和解析,但它似乎不正确...
任何的想法 ?
(如果你觉得这是重复的一个,我提前道歉,但我找不到类似的问题,只有相关问题)
盖尔
javascript floating-point rounding-error scientific-notation rounding
我正在使用Rails 4构建一个Web应用程序,我偶然发现了Rails控制器和JQuery之间的一些奇怪的行为,我不确定是不是因为我做错了什么,或者是否真的误解了Rails通过JQuery返回JSON.请参阅以下咖啡脚本:
咖啡脚本:
$.get('/get_experiment', (data) ->
console.log 'Success:'
console.log JSON.parse data
).error (data) ->
console.log 'Failure:'
console.log JSON.parse data.responseText
Run Code Online (Sandbox Code Playgroud)
我们只需通过GET调用控制器的方法,处理成功和失败并显示返回的数据.
控制器:
def get_experiment
respond_to do |format|
format.js { render json: {} }
end
end
Run Code Online (Sandbox Code Playgroud)
该控制器简单地回复一个空哈希.
运行此示例时,控制台将显示带有"Failure"文本的空JSON,这显然表明它认为JSON格式不正确.
我不明白为什么空哈希被认为是格式错误的JSON.如果用render json: {foo: 'bar'}
它替换它,它仍然会调用error方法.
我正在努力寻找过滤散列数组的正确方法,删除与过滤条件匹配的条目,同时返回这些已删除的散列。这是一个例子,magic_function!
它完成了我想要实现的目标:
my_array = [{ id: 1, val: 'foo' }, { id: 2, val: 'bar' }, { id: 3, val: 'baz' }]
extracted_hashes = my_array.magic_function! { |hash| hash[:id] == 1 }
# [{ id: 1, val: 'foo' }]
my_array
# [{ id: 2, val: 'bar' }, { id: 3, val: 'baz' }]
Run Code Online (Sandbox Code Playgroud)
我尝试这样做的原因是因为该数组是一个庞大的数据库行集合,我需要使用另一个 ID 数组中的值来处理它们。(不幸的是,该部分无法更改,限制来自数据库的行会更有效率)
使用Array.filter
允许我获取正确的哈希值,但每次都在数组的整个长度上进行迭代。由于我不需要已经处理过的散列,我假设从原始数组中删除它们会使它变得越来越小,从而减少过滤下一个 ID 所需的迭代量,直到所有 ID 都已处理完毕并且有原始数组中没有任何剩余。
ruby ×3
javascript ×2
api ×1
arrays ×1
backbone.js ×1
coffeescript ×1
hash ×1
jquery ×1
json ×1
regex ×1
rest ×1
rounding ×1
select ×1