默认函数参数排序

2024-01-01

通读一遍this http://jashkenas.github.com/coffee-script/,我谈到了函数参数的默认值:

fill = (container, liquid = "coffee") ->
  "Filling the #{container} with #{liquid}..."

这很简洁,但后来我尝试了这个:

fill = (container="mug", liquid = "coffee") ->
  "Filling the #{container} with #{liquid}..."

alert fill(liquid="juice")

并得到了意外的警报"Filling the juice with coffee..."。然后我尝试了这个:

fill = (container="mug", liquid = "coffee") ->
  "Filling the #{container} with #{liquid}..."

alert fill(null, "juice")

它起作用了。但它并不漂亮。有没有更好的方法,或者这是执行此操作的惯用方法?


fill = ({container, liquid} = {}) ->
     container ?= "mug"
     liquid ?= "coffee"

     "Filling the #{container} with #{liquid}..."

alert fill(liquid: "juice", container: "glass")
alert fill()
fill = (quantity="500 mL", {container, liquid} = {}) ->
     container ?= "mug"
     liquid ?= "coffee"

     "Filling the #{container} with #{quantity} of #{liquid}..."

alert fill("1L", liquid: "juice", container: "glass")
alert fill()
alert fill "1L"
alert fill "1L", liquid: "water"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

默认函数参数排序 的相关文章

  • 当我提取一个对象字段时,为什么 lodash 的 _.unique 不返回唯一对象?

    我正在使用lodash的 unique http lodash com docs uniq并且它没有按预期工作 我正在这样做 uniqueByFocusIndex unique clickables false focusIndex 正如您
  • Javascript代码执行顺序奇怪

    我有一段 Javascript Coffeescript 似乎没有按顺序执行 console log list console log list card number if list card number console log MAT
  • CoffeeScript 类的范围

    我想在类属性中嵌套多个函数 如下所示 不幸的是 他们无法访问该类的主要范围 我可以在不传递每个嵌套函数引用的情况下解决这个问题吗this class myClass constructor gt errors doSomething gt
  • 是否可以将 .coffee 脚本文件加载到浏览器并执行?

    我正在尝试将咖啡脚本与 Coffee script js 文件一起加载到 Sample coffee 文件中 并对 HTML 执行一些简单的操作 但我无法加载sample coffee 文件
  • 从 CoffeeScript 文件调用 JavaScript 函数

    我需要在我的 CoffeeScript 应用程序中使用 JavaScript 库 由于我对两种语言都不熟悉 所以我尝试一些简单的方法 我的咖啡脚本文件 empty require models empty class Contact ext
  • 在 Coffeescript 中连接数组的数组

    我试图在 Coffeescript 中找到一种优雅的方式来合并数组数组 以便 1 2 3 4 5 6 7 8 9 gt 1 2 3 4 5 6 7 8 9 正如您可能想象的那样 我需要这个 因为我正在从 for in 构造中的函数生成数组
  • 如何在atom包内设置断点?

    我想弄清楚为什么这个原子包https github com AtomLinter linter elixirc https github com AtomLinter linter elixirc 行为不端 它的作者说我应该在包的某些函数中
  • Coffeescript/Javascript 无法在服务器上运行

    我已经实现了 无限滚动 功能 如果有更多帖子要显示 用户可以使用该功能继续向下滚动 我关注了 Railscasts 它在本地运行得很好 javascripts 和 will paginate gem 但是 在服务器上 此功能不起作用 我看到
  • 将 HTML 返回到 AJAX Rails 调用

    读完大卫 海涅迈尔 汉森之后博客文章 https 37signals com svn posts 3697 server generated javascript responses关于服务器生成的 javascript 我决定回顾一下在
  • Backbone.js:未到达路由器回调

    我在获取简单的应用程序示例进行路由时遇到问题 我正在使用backbone on rails gem 这是我的 App js coffee window App Models Collections Views Routers documen
  • jquery:无法获取div的“value”属性

    这是我的 chrome javascript 控制台的屏幕截图 展示了我的困境 我真的无法理解为什么我无法获取 值 属性 class 属性工作得很好 所以我认为同样应该适用于 value 我在我的应用程序中测试的代码 coffeescrip
  • 在 Atom 编辑器初始化脚本中使用树视图

    我正在尝试为 Atom 编辑器编写一个初始化脚本 以添加自定义命令 以便能够使用一个组合键 而不是两个组合键 在树视图中显示当前打开的编辑器文件 这是一个示例代码 它使一些东西有所不同 以明确它通常的外观 atom commands add
  • 主干+rails TypeError:List.Header不是构造函数

    我正在尝试按照从该网站购买的教程进行操作 http www backbonerails com http www backbonerails com 我正在关注该系列的第五集 起床运行 第 1 部分 在视频的 46 52 左右 他有 lis
  • Rails 中的共享 JS(咖啡)

    如果我想在不同文件之间共享一些 JavaScript 函数应用程序 资产 javascript组织目录结构的最佳方法是什么 假设我有共享 js 咖啡 sharedFunction gt Hello 现在 我如何在其他地方使用它 就像这里一样
  • 如何在haml模板中的coffescript中的ruby代码中使用本地或实例变量

    我是 Rails 的新手 并面临着复杂的问题 试图在 Haml 模板的 CoffeeScript 中的 ruby 辅助方法中使用变量 这是我在 haml 中的代码 coffee input field blur gt input input
  • Node/Busboy:获取文件大小

    我使用 Busboy 模块通过下面的 CoffeeScript 代码来解析多部分请求 有时 问题出在 数据 处理程序上 该处理程序针对包含一个文件的请求多次调用 这意味着我需要对每个尺寸进行求和才能得出整个尺寸 此外 文件 处理程序中的文件
  • 使用 bootstrap-modal 作为 Backbone.js 视图

    我正在尝试创建一个基于 Twitter 引导模式的 Backbone js 视图 该视图通过以下方式使用 Backbone 的自动事件委托 events视图的属性 不幸的是 bootstrap modal 似乎破坏了 Backbone 的事
  • 无法使用“in”运算符在中搜索“_id”

    我正在尝试使用 mongoose 和express 来获取现有的用户文档 但我只得到这个 webroot api domain com production node modules mongoose lib document js 162
  • 我想从 Cakefile 运行 d3

    我想从命令行执行一些 d3 代码 最初我只是尝试了类似的方法 task data Build some data with d3 gt d3 require lib d3 v2 console log d3 version d3 versi
  • 有没有办法将 CoffeeScript 发送到客户端的浏览器并*在那里*将其编译为 JavaScript?

    有没有办法将 CoffeeScript 发送到客户端浏览器并将其编译为 JavaScriptthere CoffeeScript编译器是用JavaScript编写的 那么我可以将其发送给客户端以在客户端浏览器中编译 运行此代码吗 杰里米已经

随机推荐

  • 如何使用 Spring security 创建自己的安全过滤器?

    我想知道是否可以使用 Spring Security API 在 Spring Web 应用程序中创建自己的安全过滤器 我想创建一个通用的安全过滤器 以便只需在 web xml 中添加该过滤器即可将其用于 插入 任何 Web 应用程序 安全
  • 如何动态分配函数代码?

    在 C 语言中 函数指针作为来自某个库的回调的通常途径是包含一个void 用户上下文的指针 void fp void ctx 允许库使用上下文调用回调ctx 假设我使用的库在回调中不包含上下文指针 我需要为每个上下文进行一个回调 在 C 中
  • Cordova Wrapper 应用程序,内部链接在应用程序中加载,外部链接在浏览器中加载

    我有一个简单的Cordova https cordova apache org 包装器应用程序指向外部网页 而不定义任何自己的视图 我想来自该域的所有内部链接都将加载到应用程序内 but 所有外部链接 http twitter com ht
  • 自定义 ostream

    我需要一些指导或指示来了解如何实现自定义 ostream 我的要求是 具有适用于多种数据类型的 目的是将输出发送到数据库 每个 行 应该进入一个单独的记录 每个记录最重要的字段是文本 或 blob 但其他一些字段 例如时间等 大多可以自动推
  • 如何在Cycle.js中顺序请求数据?

    我是响应式编程的新手 正在尝试使用cycle js 试图实现谁关注框本教程 https gist github com staltz 868e7e9bc2a7b8c1f754 但我知道 为了正确实施 和学习目的 我没有一项数据 完整的用户名
  • 使用 jquery 将类添加到父 div

    这应该相当容易 但由于某种原因我很挣扎 我有以下 html 结构 div class div div class changevid div 我想要的是当单击changevid时 应该在子内容之后添加一个名为 active 的类 my co
  • r data.table 就地连接多列

    data table是惊人的 我想进行就地联接 但保留两个表中的所有列 这个问题 https stackoverflow com questions 34598139 left join using data table 34600831演
  • MVC2 的 ASP.Net MVC Future 刷新

    随着 MVC2 的发布 MVC Futures 库的更新包含哪些值得注意的功能 MVC Futures 有两个版本与 MVC 2 RTM 并存 其中一个版本针对 NET 3 5 另一个目标是 NET 4 NET 4 版本不是 NET 3 5
  • 带返回值的 Hangfire 后台作业

    我要从Task Run https msdn microsoft com en us library hh195051 28v vs 110 29 aspx to Hangfire http docs hangfire io en late
  • 简单的 get/post 请求在 python 3 中被阻止,但在 python 2 中则不然

    我正在 python 3 中开发一个简单的网络抓取工具 但是当我发送 get 或 post 请求时 响应是 403 在 python 2 中工作正常 我在两个版本中使用相同版本的请求库 我有 也尝试过Verify False True但两个
  • 使通用扩展方法正常工作时出现问题

    我正在尝试为 HashSet 创建扩展方法 AddRange 以便我可以执行以下操作 var list new List
  • Ruby 与计算机科学相关的产量特性

    我最近发现了 Ruby 的块和屈服特性 我想知道 这在计算机科学理论中适合什么 它是一种函数式编程技术 还是更具体的技术 Ruby s yield与 C 和 Python 中的迭代器不同 yield一旦您了解了 Ruby 中块的工作原理 它
  • 在 Xamarin 中创建完整性计(状态显示)

    我正在尝试设计一个显示进程当前状态的控件 如下图所示 因此 我们有一个圆形的状态显示 其中带有里程碑或检查点的彩色部分 在图中 我们已经完成了前两个阶段 第三阶段已完成 70 我知道 Jquery 中有一个非常相似的控件 但我不确定 Xam
  • org.apache.http.NoHttpResponseException:目标服务器响应失败

    import org apache http HttpEntity import org apache http HttpResponse import org apache http NameValuePair import org ap
  • 即使 prop 没有改变,如何观看呢?

    我有一个与道具同名的观察者 该 prop 在某些事件的父组件中动态设置 我需要每次在父组件上触发事件时触发子组件中具有属性值的某些函数 即使它设置的 prop 是相同的 是否有任何观察者选项或其他处理此类情况的方法可以让我做到这一点 我尝试
  • java.sql.SQLException:参数索引超出范围(2 > 参数数量,即 0)

    public class Brothers extends javax swing JFrame declaring connection and SQL statement Connection cn Statement st Prepa
  • head 的否定参数

    我正在尝试使用head命令 在 macOS 中使用 zsh 代码如下 a txt 1 2 3 4 5 6 7 8 9 10 tail n 5 a txt line 5 to line end tail n 5 a txt last line
  • JdbcTemplate 不支持参数化查询“IN”情况?必须通过NamedParameterJdbcTemplate吗?

    为了防止SQL注入攻击 我的项目中的所有SQL语句代码都应该转换为参数化查询 但是当查询条件包含 IN 情况时 我遇到了问题 像这样 使用 DB2 数据库 String employeeId D2309 String name brady
  • 两个二进制字符串之间的汉明距离不起作用

    我发现了一个有趣的算法来计算汉明距离this http jhafranco com 2012 02 12 hamming distance site def hamming2 x y Calculate the Hamming distan
  • 默认函数参数排序

    通读一遍this http jashkenas github com coffee script 我谈到了函数参数的默认值 fill container liquid coffee gt Filling the container with