标签: coffeescript

CoffeeScript:使用yield和递归

我试图理解如何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)

谁能解释一下这里发生了什么?我应该如何更改代码以获得所需的结果?谢谢!

javascript recursion yield coffeescript

2
推荐指数
1
解决办法
910
查看次数

Coffeescript中的Base64编码/解码

我试图用base64编码/解码一个字符串.coffeescript是否有任何内置支持?我找到了这个库:https://github.com/carlcalderon/Base64.coffee.

在Coffeescript中有更好的方法吗?

base64 coffeescript

2
推荐指数
1
解决办法
1120
查看次数

如果在咖啡脚本中

伙计们,

我的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)

情况是,如果我只在我的"标题"文本框中输入内容,它应该提醒我"作者为空".对?但令人惊讶的是,它提醒我"两者都可以".预计?或者我错过了什么?

javascript jquery coffeescript

2
推荐指数
1
解决办法
7213
查看次数

如果选择了选项,则为欧芹自定义验证器

我有一个带有几个选项的选择框,如果有人选择其他我希望文本框淡入并且需要它,只要让它显示我很好,那个验证器就在我的位置有问题.

这是我到目前为止所尝试的内容,主要基于可用的一个示例.

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)

我觉得它与不使用函数的值部分有关?我希望有更多关于此的文件.

javascript jquery custom-validators coffeescript parsley.js

2
推荐指数
1
解决办法
7662
查看次数

getWindowHandle()Selenium Webdriver Javascript

在工程技术的帮助下进行了一些更改。这是我用来获取新窗口句柄的最终代码:

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为上述场景设置代码的示例?

javascript selenium coffeescript

2
推荐指数
2
解决办法
8827
查看次数

在Framer.js中的每台设备上安装Sketch Sketch画板

我有一个原型,从Sketch导入,有多个640x1136的画板.但是当我在Framer中运行它时,我希望它适合所有设备.现在它只适用于iPhone 5分辨率.为了让原型在所有设备上运行,我需要做什么?

我尝试使每个画板变大,内容居中,然后跑Framer.Device.fullScreen = true,但比例仍然关闭.有没有办法使用百分比而不是静态像素位置,以便视图相应地适合每个设备?

附件是6+(不适合)的样子的截图,以及5(适合)的样子. 在此输入图像描述

javascript coffeescript framerjs

2
推荐指数
1
解决办法
2018
查看次数

Rails 4 + ReactJS:"SyntaxError:隐式对象中不能有隐式值"

我关注的是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)

ruby-on-rails coffeescript ruby-on-rails-4 reactjs

2
推荐指数
1
解决办法
453
查看次数

如何在Webstorm中的整个目录上触发文件观察程序

我正在使用Webstorm文件观察器来编译我的CoffeeScript.

我的问题是我重构了项目文件的结构.

我可以删除/ bin目录中的所有文件,并告诉webstorm在目录中的所有.coffee文件上应用他的文件观察器编译命令吗?因为我不想打开,修改和重做修改每个文件只是为了获取编译的javascrit ...

intellij-idea coffeescript webstorm file-watcher

2
推荐指数
1
解决办法
2016
查看次数

在coffeescript数组中查找重复值的最简单方法

我是coffeescript的新手.请帮我.

如何在数组中找到重复值?

var arr = ['manager','manager','employee','manager',
           'director','employee','manager','operatives'];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它应该返回['manager','employee'].

arrays coffeescript

2
推荐指数
1
解决办法
253
查看次数

如何扩展EJSON以序列化RegEx以进行Meteor客户端 - 服务器交互?

我有一个任意的(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序列化是不可能的.那怎么办呢?

javascript regex json coffeescript meteor

2
推荐指数
1
解决办法
185
查看次数