循环变量与闭包
起因 在2023年9月19日,Go发布的1.22版本,修复了循环变量作用域的问题,最近在用其他语言写代码时,也遇到了类似的问题。于是意识到不同的编程语言对这种情况的处理有所不同,便有了这篇文章。 Go 首先回顾一下Go语言的循环变量问题,考虑下面的简单代码,生成多个打印数字的函数,然后调用这些函数。 package main import "fmt" var funcs []func() func main() { for i…
给你的Markdown扩展新语法吧:下篇
注意 这篇文章仅适用于基于 Remark.js 开发的 Markdown 应用,如 Astro.js、MDX 等等。 版本更新提醒 从 mdast-util-from-markdown 2.0.0 开始,this.exit() 方法删除了返回值,不再返回 AST 节点,因此在该版本里,我们需要自己使用其他方法获取节点。例如: function exitMyNodeType(token) { const node = this.stack[…
给你的Markdown扩展新语法吧:上篇
注意 这篇文章仅适用于基于 remark.js 的 Markdown ,如 Astro.js、Gatsby.js 等等。如果你正在使用 MDX 那么该文章可能也适用于你。 嗨,今天我们来聊一下怎么给 Markdown 扩展新语法吧。这篇文章是本教程的上篇,在这篇里你将会看到如何通过编写扩展的方法,给 remark.js 添加自定义的语法支持。 请注意,该文章中涉及到的内容将不限于JavaScript/TypeScript编程、编译原理、胡…