在编译器中,"implementer" 是什么意思?
In the compiler, what does "implementer" mean?
我想弄清楚 libsass 和 node-sass
之间的关系
libsass的官方页面是这样写的:
LibSass 是原始 Ruby Sass CSS 编译器的 C++ 端口,带有 C API.
LibSass 只是一个图书馆。要 运行 本地代码(即编译样式表),您需要一个 实现者 或“包装器”
我对编译器了解不多
什么是实施者?我想知道 node-sass 是如何编译的
Tl;dr - 它包装了其他东西,例如库或 API 以使其更易于使用(或使其可供当前编程语言访问)。
长答案:
很简单。包装器是一个库,它......好吧......包装了一些其他东西,通常是为了让它更容易。让我们以 Python 为例......这是一个很好的例子,它有一些常见的例子。让我们以 API 为例。假设我有一个 JSON API 来获取我当前位置的天气数据。我将我的邮政编码提供给它,我得到了这样的回复:
{
"currentTemperature": 70,
"temperatureUnit": "F",
"hourlyForcast": [68, 71]
}
没什么复杂的,对吧?但是...我想在 Python 中使用它。我 可以 解析 JSON 并手动提取每个值。那行得通。但我会使用包装器:
from weather import get_weather
zip_code = int(input("Enter your zip code"))
weather = get_weather(zip_code)
print(weather.current_temperature)
基本上,包装器 包装 其他东西,例如另一个 (lower-level) 库,或者在我的例子中,API。但它也可以使其使用起来更加方便。例如,API 可能是 return 华氏度。包装器可能会接受它,并有代码自动将其转换为用户想要的任何单位。
还有很多其他的可能性。它可以:
- 让包装器在内部使用 highly-optimized C 库
,使您能够在 Node.js 中进行非常快速的复杂数学计算
- API 的界面简洁明了。另外,想象一下明天 API 的变化。如果您有包装器,请更新包装器以进行更改。否则,您必须手动搜索您的代码以更新它...如果您忘记了某个地方,那就太可惜了。
- 允许您在 Python 中执行快速 GPU 操作,并为包装器提供快速 CUDA-based 后端
我想弄清楚 libsass 和 node-sass
之间的关系libsass的官方页面是这样写的:
LibSass 是原始 Ruby Sass CSS 编译器的 C++ 端口,带有 C API.
LibSass 只是一个图书馆。要 运行 本地代码(即编译样式表),您需要一个 实现者 或“包装器”
我对编译器了解不多 什么是实施者?我想知道 node-sass 是如何编译的
Tl;dr - 它包装了其他东西,例如库或 API 以使其更易于使用(或使其可供当前编程语言访问)。
长答案:
很简单。包装器是一个库,它......好吧......包装了一些其他东西,通常是为了让它更容易。让我们以 Python 为例......这是一个很好的例子,它有一些常见的例子。让我们以 API 为例。假设我有一个 JSON API 来获取我当前位置的天气数据。我将我的邮政编码提供给它,我得到了这样的回复:
{
"currentTemperature": 70,
"temperatureUnit": "F",
"hourlyForcast": [68, 71]
}
没什么复杂的,对吧?但是...我想在 Python 中使用它。我 可以 解析 JSON 并手动提取每个值。那行得通。但我会使用包装器:
from weather import get_weather
zip_code = int(input("Enter your zip code"))
weather = get_weather(zip_code)
print(weather.current_temperature)
基本上,包装器 包装 其他东西,例如另一个 (lower-level) 库,或者在我的例子中,API。但它也可以使其使用起来更加方便。例如,API 可能是 return 华氏度。包装器可能会接受它,并有代码自动将其转换为用户想要的任何单位。
还有很多其他的可能性。它可以:
- 让包装器在内部使用 highly-optimized C 库 ,使您能够在 Node.js 中进行非常快速的复杂数学计算
- API 的界面简洁明了。另外,想象一下明天 API 的变化。如果您有包装器,请更新包装器以进行更改。否则,您必须手动搜索您的代码以更新它...如果您忘记了某个地方,那就太可惜了。
- 允许您在 Python 中执行快速 GPU 操作,并为包装器提供快速 CUDA-based 后端