我有一个数值列表.如果需要,我可以将值标准化.
我需要将此列表转换为颜色列表(在HSL,RGB或任何其他颜色模型中 - 我以后总是可以进行转换).
对于任何给定值,每次颜色必须相同.
两个给定的数值越不同,对应的对应值应该越多.
所有使用的颜色必须尽可能相互对比(这是一个软限制,粗略的解决方案会做).
请注意,列表相当大(数千个数字),因此简单地将所有数字压缩到单个颜色通道中会产生过于密集的结果.
Haskell新手在这里.
$ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.12.1
在尝试调试第三方Haskell程序中与奇怪的与语言环境相关的错误时,我正在尝试打印默认编码:
import System.IO
main = do
print localeEncoding
Run Code Online (Sandbox Code Playgroud)
但它失败了:
$ ghc -o printlocale main.hs
main.hs:4:2:
No instance for (Show TextEncoding)
arising from a use of `print' at main.hs:4:2-21
Possible fix: add an instance declaration for (Show TextEncoding)
In the expression: print localeEncoding
In the expression: do { print localeEncoding }
In the definition of `main': main = do { print localeEncoding }
我的google-fu让我失望了.我错过了什么?
这里是 LaTeX 新手。
我需要为所有\subsection标题设置背景颜色。整行应该改变颜色,而不仅仅是带有文本的部分。
这确实有效:
\subsection{\colorbox{Gray}{Title}}
Run Code Online (Sandbox Code Playgroud)
但它不会使整条线着色。另外我想在一个地方为所有人配置它\subsections。
我的 google-fu 让我失望了。关于如何做我想做的事有什么建议吗?
任何根据Redis做延迟任务执行(即调度)的技巧?
也许是一些聪明的方法来延迟BLPOP给定的秒数?
什么是最便携,最健壮的方法来获取路径列表,/etc/ld.so.conf由它们配置和包含的文件?手动解析文件似乎不是一个好主意 - 格式可能会在将来的版本中发生变化.
为了更好地理解这个问题,我将在下面给出具体细节.请注意,尽管有这些细节,但这是一个通用编程问题,适用于其他情况.
有一个名为LuaRocks的程序.它是Lua编程语言的包管理器(有点像Ruby gems或Python eggs).LuaRocks包被称为"岩石".
作为一个便利功能,LuaRocks允许摇滚作者为摇滚指定外部依赖项列表,并将其表达为C头文件和/或动态库文件的列表.(.so在Linux上.)如果指定的文件不存在,则无法安装摇滚.
目前,在Linux上,默认检查LuaRocks通过搜索两个文件.so文件所有脑干硬编码路径,/usr/lib和/usr/local/lib.
我认为这是不正确的行为,并且最近Ubuntu和其他Debian发行版的更改打破了它.
更新:路径本身不是硬编码的,但在配置文件中是用户可配置的.仍然,IMO,不是最好的解决方案.
相反(据我所知),LuaRocks应该在路径中查找文件,由/etc/ld.so.conf它指定的文件和文件.
(现在请重新阅读上面的问题;-))
假设我想在某个条件为真时为两个变量分配两个值,如果所述条件为假则为两个不同的值.我会假设它会这样做:
a, b = 4 > 5 and 1, 2 or 3, 4
Run Code Online (Sandbox Code Playgroud)
然而,这指定为假,b为2.如果我们有:
a, b = 4 < 5 and 1, 2 or 3, 4
Run Code Online (Sandbox Code Playgroud)
这正确地指定a为1,b为2.
我在这里错过了什么,如何让"三元运算符"像我期望的那样工作?
我成功地将Lua集成到了我的应用程序中,为用户提供了脚本访问权限.现在我的问题是:我如何防止双重免费或不良访问违规?
我已经为每个结构实现了Init和Free函数,例如:
structaInitstructaFree每次将struct指针链接到另一个时,我也会跟踪,增加我所有结构中的引用计数.
但是用户总是可以在Lua中做这样的事情:
a = structaInit();
b = structbInit();
structbSetA( b, a ); -- This add ++a.reference
a.reference = 0;
a = structaFree( a ); -- If a->reference == 0 then I free
-- Then struct b->a is still a valid pointer but that have been free.
Run Code Online (Sandbox Code Playgroud)
无论如何我可以阻止这种情况发生吗?
我尝试从我的设备获取本地IP(在Corona Lua中编程)
到现在为止我做的是:
local myip = socket.dns.toip(socket.dns.gethostname())
Run Code Online (Sandbox Code Playgroud)
但这只适用于模拟器
local client = socket.connect( "www.google.com", 80 )
local ip, port = client:getsockname()
Run Code Online (Sandbox Code Playgroud)
但这仅在我有Internet连接时才有效
如何在没有互联网的Wifi中获取我的本地IP
克里斯
我正在寻找一种模仿慢速Redis服务器的最简单方法(从我现在调试的客户端的角度来看).
理想情况下,这将是一个DEBUG SLEEP <seconds>命令,但AFAIK没有这样的事情.
我可以使用,例如,BLPOP阻塞读取 - 但这需要一个单独的线程来解锁它...有一个更简单的方法吗?
我有一个包含稀疏数据的人性化工作表:
PART | FRUIT
---------------
Alpha |
| Apples
| Pears
Beta |
| Lemons
| Oranges
Run Code Online (Sandbox Code Playgroud)
我想创建第二个自动更新的机器友好工作表,该工作表将填充 PART 列中的所有空单元格:
PART | FRUIT
---------------
Alpha |
Alpha | Apples
Alpha | Pears
Beta |
Beta | Lemons
Beta | Oranges
Run Code Online (Sandbox Code Playgroud)
我可以在机器友好的工作表上的“水果”列中保留空白单元格。但理想情况下我希望删除这些行:
PART | FRUIT
---------------
Alpha | Apples
Alpha | Pears
Beta | Lemons
Beta | Oranges
Run Code Online (Sandbox Code Playgroud)
如果我想在机器友好的工作表中使用插值,我会依靠MATCH 技巧或FILTER 粘贴到任何地方的公式。
但我真的想避免在添加、更改或删除原始工作表中的行时更新机器友好的工作表。(如果我向原始工作表添加新列,则必须更新它,我没问题。)这意味着使用手动插值是禁止的。
理想的情况是,我会在第二张纸上输入一个魔法={ARRAYFORMULA()}或=QUERY某种魔法,然后就不管它了。
={ ARRAYFORMULA(MAGIC(PART)), FRUIT }
但到目前为止,我还无法思考如何解决这个问题。有什么建议么?