小编Ale*_*ysh的帖子

语法在ActionScript中突出显示库

我让用户在我的Flex3(Flash 10)应用程序中输入一些代码,我想做语法高亮显示.

有没有可以帮助我的开源库?

我需要一个Lua语法支持,但如果库有一个合理的接口来执行此操作,我可以自己添加它.

apache-flex flash actionscript syntax-highlighting

6
推荐指数
1
解决办法
4603
查看次数

在单个传递中填充文件中的占位符

我有一个带有占位符字符串的骨架文本文件:

blah blah blah
blah $PLACEHOLDER_1$
blah
$PLACEHOLDER_2$
Run Code Online (Sandbox Code Playgroud)

等等.占位符的特定"形式"并不重要 - 我可以将它们更改为最适合特定实现的任何内容.

我有一个bash脚本,我知道占位符的值,我需要生成一个新文件,占位符替换为值.

#! /bin/sh
PLACEHOLDER_1 = 'string 1'
PLACEHOLDER_2 = 'multiline 
string 
2'
# TODO: Generate file output.txt from file output.template 
#       using placeholders above.
Run Code Online (Sandbox Code Playgroud)

我可以用sed多次通过,但这并不好玩.我希望使用Perl.我想只使用textutils和bash本身.

在一次传球中做我想做的最好的方法是什么?

bash awk replace sed textutils

6
推荐指数
3
解决办法
9727
查看次数

有没有办法将C#代码嵌入到Lua脚本中?

我有一个程序,迫使Lua作为编程插件的选择.我想要一些现有的C#代码,并在这个程序中使用它.这可能吗?

我应该补充一点,我知道可以很容易地将Lua代码嵌入到C#中,但我没有在任何地方找到反向.多谢你们!

c# lua

6
推荐指数
1
解决办法
524
查看次数

如果另一个键中的计数器低于零,则以原子方式从集合中删除项目?

Redis 2.0.3

在我的Redis DB中,我有一组项目.每个项目都有一个与之相关的计数器:

MULTI
    SADD "items-set" "foo"
    INCRBY "items:foo" 10000
EXEC
Run Code Online (Sandbox Code Playgroud)

新项目以随机间隔添加到集合中.

当用户执行某个操作时,计数器会递减:

new_counter = DECR "items:foo"
Run Code Online (Sandbox Code Playgroud)

当计数器降到零以下时,我需要从集合中原子地移除项目(或者:当计数器完全达到零时,我可以为此修复逻辑.)

if new_counter < 0 then
    MULTI
        SREM "items-set" "foo"
        DEL "items:foo"
    EXEC
end
Run Code Online (Sandbox Code Playgroud)

如何在没有项目名称用SETNX/ 锁定的情况下执行此操作GETSET

涉及改变我在Redis中存储数据的方式的解决方案是可以接受的.(但是,为了以防万一,我保留一个权利,可以用一些特定于任务的细节来对付它们,我可以在初始文本中将其遗漏.)

redis

6
推荐指数
1
解决办法
2023
查看次数

使用CSS的逐字母文本外观动画

我有一个<div>文字.

Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

我希望这里的文字<div>一次出现在第一页上:

L

Lo

Lor

... and so on, until the full text is visible

可接受的替代方案:一次执行一个单词,以避免由于软连字而导致HTML实体和跳跃单词出现问题.

如果用户点击<div>它,它应该取消动画并立即显示全文.

简而言之,我想模仿日本式冒险游戏中经常出现的动画.(我认为这有时被称为打字机或电传打字机效果.)这是一个很好的例子:

http://www.youtube.com/watch?feature=player_detailpage&v=SasgN0lim7M#t=418

显然,我可以使用JavaScript编写动画脚本 - 只需设置一个计时器并逐个附加字母(或单词).

但是在现代浏览器中使用CSS可以做我需要的吗?(当然,我至少需要在onclickJS中更改元素类,但这没关系.)

更新:澄清HTML实体的字符与字母和问题:

我的文字充斥着HTML:

Lo&shy;rem <i>ip&shy;sum</i>.
Run Code Online (Sandbox Code Playgroud)

对于innerHTML逐字符附加文本的天真方法是行不通的:

L

Lo

Lo&

...Doh!

html javascript animation css3

6
推荐指数
2
解决办法
2万
查看次数

Google Visualization Charts API示例已被破坏,如何修复它们?

请参阅此页面,例如:https://developers.google.com/chart/interactive/docs/quick_start

根据浏览器的不同,我们会看到以下错误之一:

  • Uncaught ReferenceError: Hh is not defined (在Chrome中)
  • TypeError: chart.draw is not a function (在Firefox中)

从文档链接的JSFiddle示例以及手动使用图表的尝试都失败了,具有相同的诊断功能.

有什么方法可以解决这个问题吗?

javascript google-visualization

6
推荐指数
1
解决办法
1573
查看次数

跨平台编辑器控制

我需要一个跨平台的编辑器控件,以便在内部工具中用作GUI部件.控制可能是商业性的,但价格合理.

所需功能:

  • 平台:Win32,OS X,Linux
  • UTF-8支持
  • 对文本样式(或至少颜色)进行细粒度的运行时控制
  • 漂亮的低级普通C API没有通常可怕的膨胀
  • 不应该阻止我拥有这些功能(即使我必须自己实现):
    • 撤销重做
    • 复制粘贴
    • 上下文菜单,取决于文本中的单击位置
    • 工具栏,取决于文本中的光标位置
    • 侧栏面板,取决于文本中的光标位置

实际上上面不需要简单的控制,而是整个跨平台的GUI库.

丢弃的选项:

  • Scintilla和后代
  • FLTK
  • 福克斯的工具包
  • gtksourceview

更新:

注意:我在这里写了一些半写的丢弃推理,我道歉.Scintilla确实可以在OS X上运行.但是,如果我能正确使用它,Scintilla的API就是用C++编写的.

用例:

我的用例是编写自定义的"半刚性"逻辑编辑器,用户可以自由地复制粘贴,在他希望的地方添加注释,甚至可以直接输入文本.但是文本结构是逻辑树的一种严格的自然语言表示(在某种程度上类似于AST).我打算写一些类似intellisense(或类似代码模板)的东西用作主要的创作工具(而不是手工输入逻辑).

顺便说一句,存储格式不是纯文本,而是提到的逻辑树的内部表示(带有注释和空格等元数据).

因此,我拥有所有必要的信息来自己呈现所需颜色的文本.我不需要任何外部词法分析器等.

c user-interface cross-platform editor

5
推荐指数
1
解决办法
1727
查看次数

"绝对"字符串指标

我有一组巨大的(但有限的)自然语言字符串.

我需要一种方法将每个字符串转换为数字值.对于任何给定的字符串,每次的值必须相同.

两个给定字符串越"不同",两个对应的值应该越不同.它们越"相似",值就越少.

我还不知道我需要的字符串之间的区别是什么.无论如何都没有自然语言解析.它可能应该像Levenstein一样(但是Levenstein是相对的,我需要绝对的度量).让我们从简单的事情开始.

尺寸更新

我很乐意满足于多维(3d是最好的)向量而不是单个数值.

更新预期结果的正确性

正如在此处此处正确指出的那样,从一个字符串到另一个字符串的距离是具有MAX(firstStringLength, secondStringLength)维度的向量.通常,在不丢失信息的情况下不可能减少维数.

但是我不需要绝对的解决方案.我会满足于从N维字符串空间到我的3D空间的任何"足够好"的转换.

另请注意,我有一定数量的有限长度的字符串.(虽然字符串数量相当大,约为8000万(10 GB),所以我最好选择一些单通道无状态算法.)

从扫描参考资料来看,我的印象是希尔伯特空间填充曲线可能对我有所帮助.看起来分析Hilbert空间填充曲线的聚类属性文章讨论了一些接近我的问题...

关于希尔伯特曲线方法的更新

  1. 我们将每个字符串映射到N维空间中的一个点,其中N是集合中字符串的最大长度.顺便说一下,字符串中的第i个字符代码可以用作第i个坐标值吗?
  2. 我们通过N维空间绘制希尔伯特曲线.
  3. 对于每个字符串,我们在曲线上取点,最接近字符串的坐标.该点的希尔伯特值(从曲线起点开始的长度)是我寻求的一维值.
  4. 如果我们需要3D值,我们在3D中绘制希尔伯特曲线并选取匹配希尔伯特值的拾取点,如上所述.

这看起来不错吗?这里的计算费用是多少?

string algorithm text-processing string-metric hilbert-curve

5
推荐指数
2
解决办法
1337
查看次数

将数值列表映射到颜色

我有一个数值列表.如果需要,我可以将值标准化.

我需要将此列表转换为颜色列表(在HSL,RGB或任何其他颜色模型中 - 我以后总是可以进行转换).

对于任何给定值,每次颜色必须相同.

两个给定的数值越不同,对应的对应值应该越多.

所有使用的颜色必须尽可能相互对比(这是一个软限制,粗略的解决方案会做).

请注意,列表相当大(数千个数字),因此简单地将所有数字压缩到单个颜色通道中会产生过于密集的结果.

algorithm colors contrast color-mapping

5
推荐指数
1
解决办法
1675
查看次数

需要 Lua 相对路径

我正在编写一个 Lua 脚本,并尝试对与主脚本位于同一目录中的文件使用 require 。我似乎无法在这种情况下工作,并尝试了几种我找到的解决方案,但似乎都不起作用。我将以下文件放在一个目录中:

main.lua
helper.lua
Run Code Online (Sandbox Code Playgroud)

我已尝试以下解决方案并收到以下错误:

解决方案一:

local folderOfThisFile = (...):match("(.-)[^%.]+$") 
local helper = require(folderOfThisFile .. 'helper')

lua: ...domizerWPF\DataFiles\LUA\main.lua:2: attempt to index local 'pathOfThisFile' (a nil value)
stack traceback:
    ...domizerWPF\DataFiles\LUA\main.lua:2: in main chunk
    [C]: ?
Run Code Online (Sandbox Code Playgroud)

解决方案2:

package.path = "/?.lua;" .. package.path 
local helper = require('helper')

lua: ...domizerWPF\DataFiles\LUA\main.lua:2: module 'helper' not found:
    no field package.preload['helper']
    no file '/helper.lua'
    no file '.\helper.lua'
    no file 'C:\Program Files (x86)\Lua\5.1\lua\helper.lua'
    no file 'C:\Program Files (x86)\Lua\5.1\lua\helper\init.lua'
    no file 'C:\Program Files (x86)\Lua\5.1\helper.lua'
    no file 'C:\Program …
Run Code Online (Sandbox Code Playgroud)

lua require

5
推荐指数
1
解决办法
4517
查看次数