我试图理解如何yield使用递归.例如,我们在CoffeeScript中有以下函数来计算正整数的阶乘并返回当前的累积产品:
prod = 1
f = (n) ->
if n > 0
prod = n * prod
yield prod
f(n-1)
Run Code Online (Sandbox Code Playgroud)
因此,如果我们使用a = f(3)并逐步调用此函数a.next(),我希望看到类似的东西
{value: 3, done: false} // prod = 3 * 1
{value: 6, done: false} // prod = 3 * 2
{value: 6, done: true} // prod = 3 * 2 * 1
Run Code Online (Sandbox Code Playgroud)
但是,实际输出是
{value: 3, done: false}
{value: {}, done: false}
{value: undefined, done: true}
{value: undefined, done: true}
...
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这里发生了什么?我应该如何更改代码以获得所需的结果?谢谢!
我试图用base64编码/解码一个字符串.coffeescript是否有任何内置支持?我找到了这个库:https://github.com/carlcalderon/Base64.coffee.
在Coffeescript中有更好的方法吗?
伙计们,
我的html中有两个文本框.我想用咖啡脚本比较他们的价值观.虽然我已经开始搜索它,但我确信我正在做预期的事情,但我仍然看到一种奇怪的行为.
事情是:
可以说,我有两个文本框,其id为"title"和"author".除此之外,我还有一个onclick触发咖啡脚本功能的按钮.
我的咖啡脚本功能如下:
check_fields = ->
elem_book_title = $("#title").val()
elem_book_author = $("#author").val()
alert(elem_book_title)
alert(elem_book_author)
if not elem_book_title?
alert("title is null")
else if not elem_book_author?
alert("author is null")
else
alert("both are ok")
Run Code Online (Sandbox Code Playgroud)
情况是,如果我只在我的"标题"文本框中输入内容,它应该提醒我"作者为空".对?但令人惊讶的是,它提醒我"两者都可以".预计?或者我错过了什么?
我有一个带有几个选项的选择框,如果有人选择其他我希望文本框淡入并且需要它,只要让它显示我很好,那个验证器就在我的位置有问题.
这是我到目前为止所尝试的内容,主要基于可用的一个示例.
conditionalvalue:
fn: (value, requirements) ->
if requirements[1] == $(requirements[0]).val()
return false
true
Run Code Online (Sandbox Code Playgroud)
在我的领域,我有这个
data-parsley-conditionalvalue='["[name=\"volunteer-check-in-new-name-title-select\"]", "other"]'
Run Code Online (Sandbox Code Playgroud)
这里参考我的选择框是什么样的
<select name="volunteer-check-in-new-name-title-select" data-bind="volunteer-new-final-title-field">
<option value="dr">Dr.</option>
<option value="mr">Mr.</option>
<option value="mrs">Mrs.</option>
<option value="miss">Miss.</option>
<option value="ms">Ms.</option>
<option value="other">Other</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我觉得它与不使用函数的值部分有关?我希望有更多关于此的文件.
在工程技术的帮助下进行了一些更改。这是我用来获取新窗口句柄的最终代码:
localdriver = @driver
@driver.getAllWindowHandles()
.then (handles) ->
localdriver.switchTo().window(handles[1])
Run Code Online (Sandbox Code Playgroud)
我当前正在运行一个使用Selenium Webdriver,Mocha,Chai和Grunt的自动化堆栈。我正在用Coffeescript创建脚本,但是用Javascript回答我的问题就可以了。
我正在尝试做的是:
我搜寻了互联网,寻找有关如何执行此操作的答案。几个月前才刚刚开始学习所有这些东西,而我仍然在尝试创建东西。我看到了很多Java和C +示例,但在Javascript方面却很少。谁能提供使用Selenium Webdriver和Javascript为上述场景设置代码的示例?
我有一个原型,从Sketch导入,有多个640x1136的画板.但是当我在Framer中运行它时,我希望它适合所有设备.现在它只适用于iPhone 5分辨率.为了让原型在所有设备上运行,我需要做什么?
我尝试使每个画板变大,内容居中,然后跑Framer.Device.fullScreen = true,但比例仍然关闭.有没有办法使用百分比而不是静态像素位置,以便视图相应地适合每个设备?
附件是6+(不适合)的样子的截图,以及5(适合)的样子.

我关注的是Fernando Villalobos的React.js - Rails开发人员 AirPair教程的指南.
这里的目标是使用Rails和React JS构建一个简单的费用跟踪应用程序.
在" 嵌套组件:列表记录"部分中,作者建议app/views/records/index.html.erb按如下方式创建文件:
<%# app/views/records/index.html.erb %>
<%= react_component 'Records', { data: @records } %>
Run Code Online (Sandbox Code Playgroud)
和一个javascripts/components/records.js.coffee文件如下:
# app/assets/javascripts/components/records.js.coffee
@Records = React.createClass
render: ->
React.DOM.div
className: 'records'
React.DOM.h2
className: 'title'
'Records'
Run Code Online (Sandbox Code Playgroud)
然后,当我们访问时localhost:3000/records,我们应该看到以下内容:
但是,当我访问时localhost:3000/records,我收到以下错误:
ExecJS::RuntimeError in Records#index
SyntaxError: [stdin]:7:10: cannot have an implicit value in an implicit object
<title>Expenses</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags …Run Code Online (Sandbox Code Playgroud) 我正在使用Webstorm文件观察器来编译我的CoffeeScript.
我的问题是我重构了项目文件的结构.
我可以删除/ bin目录中的所有文件,并告诉webstorm在目录中的所有.coffee文件上应用他的文件观察器编译命令吗?因为我不想打开,修改和重做修改每个文件只是为了获取编译的javascrit ...
我是coffeescript的新手.请帮我.
如何在数组中找到重复值?
var arr = ['manager','manager','employee','manager',
'director','employee','manager','operatives'];
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它应该返回['manager','employee'].
我有一个任意的(E)JSON,可以在我的Meteor应用程序中通过网络从客户端发送到服务器.它使用RegExp对象将结果置于零上:
# on the client
selector =
"roles.user": { "$ne": null }
"profile.email": /^admin@/gi
Run Code Online (Sandbox Code Playgroud)
所有在客户端都很好,但如果我通过Meteor.call或传递给服务器Meteor.subscribe,结果(E)JSON采用这种形式:
# on the server
selector =
"roles.user": { "$ne": null }
"profile.email": {}
Run Code Online (Sandbox Code Playgroud)
......某个工程师在里面死了一点.
Web上有大量资源解释了RegEx通过JSON.stringify/ JSON.parse或等效EJSON方法无法排序的原因.
我不相信RegEx序列化是不可能的.那怎么办呢?
coffeescript ×10
javascript ×6
jquery ×2
arrays ×1
base64 ×1
file-watcher ×1
framerjs ×1
json ×1
meteor ×1
parsley.js ×1
reactjs ×1
recursion ×1
regex ×1
selenium ×1
webstorm ×1
yield ×1