问题标签 [hy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - conda 托管环境中的 Shebangs
我正在尝试在 Hy 中编写一个程序并按照文档中快速入门页面上的说明运行它。
因此,我根据文档使用 GitHub 存储库中的 pip 安装了 Hy,然后使用chmod +x myfile.hy
.
为了管理我的 Python 环境,我使用 Anaconda 的 conda,而不是 virtualenv。因此,shebang#! /usr/bin/env hy
对我不起作用,因为 conda envs 位于不同的目录中。从conda info --envs
我看到他们的目录是
现在尝试使用#! /home/myname/.conda/envs/myenv hy
bash 运行脚本会引发bad interpreter: Permission denied
错误。
在这种情况下,shebangs 应该指向哪里?
lisp - 为什么我的 hylang 程序解析失败?
我写了一个解析日志的小 hylang 程序。但是,当我尝试评估它时,我收到以下错误:
文件“”,第 8 行,第 38 列
有问题的函数(单独评估时也会出错)如下:
据我所知,这是平衡的表达,所有的括号都在他们的位置。为什么词法分析器会失败?
我的程序的全文在这里:pastebin
python - 使用 Hy 宏生成 Python 代码
我正在尝试从 Hy 生成一些 python 代码。怎么做得更好?
我尝试了几种方法。一个是宏:
然后在捕获宏扩展后,我打印代码的 python 反汇编。
但是,似乎使用宏我无法传递变量,因此:
定义varv
, varn
,vara
等等,而不是var1
, var2
, var3
. 似乎可以通过以下方式进行正确的调用:
但这似乎过于复杂。
我遇到的另一个问题是 的必要性HySymbol
,这是一个很大的惊喜。但是当我尝试第二种方法时,我真的受到了伤害,我创建了一个返回引用形式的函数:
该函数采用在 python 中如下所示的元数据:
并获取具有以下形式的类列表:
它需要大量使用 hy 的内部类,而我无法正确表示 True 和 False,而是求助于HyInteger(1)
and 。HyInteger(0)
为了从此函数中获取 python 代码,我通过disassemble
.
总结一下:
- 从 Hy 生成 python 代码的最佳方法是什么?
- True 和 False 的内部表示是什么?
- 可以调用一个处理其参数并从宏返回带引号的 Hy 形式的函数吗?如何?
hy - 奇怪的 HyLang 点符号行为
为什么以下工作:
...但是(def session (.configure (sessionmaker) :bind engine))
导致我的 Hy 应用程序抛出一个NoneType
TypeError
?
python - 在 HyLang 中继承和实例化 typing.NamedTuple 的子类型
我正在尝试使用 Hy,它是一种建立在 Python 之上的 Lisp 方言。
我已经尝试运行以下命令,但是,正如预期的那样,我得到了一个AttributeError: Cannot overwrite NamedTuple attribute __init__
.
另一方面,我不知道使用哪种语法来定义类中的字段变量。我尝试了以下方法,但它引发了NameError: name 'KEY' is not defined
.
那么我该如何在 Lispy/Python 类中设置字段变量呢?
python - 在 Hy 中使用 numpy.nditer
在 python 中,以下代码迭代了一个 numpy 数组(for 循环),并且 numpy 数组的值发生了变化:
是否有可能在 Hy 中做类似的事情?我可以使用 (numpy.nditer a08_1) 创建迭代器,但我不知道如何遵循。
谢谢。
python - python3/hy - 在 python 中评估 hy 表达式?
我知道如何将hy
模块导入 python。我所要做的就是创建一个something.hy
包含hy
代码的文件,然后执行以下操作...
但是,我无法弄清楚如何在 python 中评估包含hy
代码的字符串。例如 ...
或者这个例子......
在 python 中使用时hy
,有没有办法以这种方式评估字符串?
python - python3/hy - 使用 hy.eval 时,导入和全局变量不共享
我了解如何使用hy.read_str
和hy.eval
从 python 来评估 python 中的hy
表达式。hy
但是,当我使用这种方法时,导入和全局变量不会在andpython
环境之间共享。考虑这个例子:
这打印...
即使我执行以下操作,它也会产生相同的异常......
我必须datetime
在传递给我的hyeval
函数的字符串中显式导入...
这会正确打印以下内容...
如果我通过字符串重新调用调用((. datetime datetime now))
,我必须继续(import datetime)
通过(do ...)
块重复调用。
从 python 中调用字符串时,有什么方法hy
可以在连续调用之间记住导入和全局变量hy.read_str/hy.eval
,或者在通过调用字符串时可以识别 python 全局变量和导入hy
?
hy - 如何在使用hy的可变参数之前调用带有一些参数的可变参数函数?
我正在尝试编写类似于以下内容的内容:
但是我在传递 *args 时遇到了问题。我尝试使用 apply (但无法传递记录和值)。我也尝试将 apply 与 partial 一起使用,但没有成功。
当前在 hylang 中不起作用的代码:
在clojure中,我通常会写:
但它似乎适用于 hy 不支持 *args 之前的参数。
如何在 hy 中编写原始 python 代码?
destructuring - Hylang 地图解构
hylang 是否支持 clojure 中的地图解构?
例如:https ://gist.github.com/john2x/e1dca953548bfdfb9844#maps