我尝试过两种不同的方式来编写我的函数.我决定编写一个小函数来转换为驼峰大小写并返回使用这个elisp字符串库.首先通过搜索我发现这个教程在点上更换东西并实现了这个功能:
; use string manipulation library to switch between camel and snake (s.el)
(defun my_test ()
"test"
(interactive)
;; get current selection or word
(let (bds p1 p2 inputStr resultStr)
;; get boundary
(if (use-region-p)
(setq bds (cons (region-beginning) (region-end) ))
(setq bds (bounds-of-thing-at-point 'word)) )
(setq p1 (car bds) )
(setq p2 (cdr bds) )
;; grab the string
(setq inputStr (buffer-substring-no-properties p1 p2) )
(setq resultStr (s-lower-camel-case inputStr))
(message inputStr)
(delete-region p1 p2 ) …Run Code Online (Sandbox Code Playgroud) 我收到以下错误
正在使用:Microsoft Windows [Versión6.1.7601]
错误:
CMake Warning at CMakeLists.txt:4 (project):
To use the NMake generator, cmake must be run from a shell that can use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (project):
The CMAKE_C_COMPILER:
cl
is not a full path and …Run Code Online (Sandbox Code Playgroud) 一些终端输出值得一千字,所以让我们开始:
[10] pry(main)> 1_000
=> 1000
Run Code Online (Sandbox Code Playgroud)
是的,我们可以用红宝石中的可读方式定义数千个,我知道这一切都很好.嘿,我想知道如果我尝试用零填充垫会发生什么?
[9] pry(main)> 001_000
=> 512
Run Code Online (Sandbox Code Playgroud)
嗯,这很奇怪,它不是二进制,因为那将是8小时......
[20] pry(main)> 01_0
=> 8
Run Code Online (Sandbox Code Playgroud)
所以那是8 ...好吧,2**3是8,2**(3*3)是512我打赌01_00是2**6 == 64
[24] pry(main)> 01_00
=> 64
Run Code Online (Sandbox Code Playgroud)
嗯......数字语法中的下划线没有什么特别之处,只是为了让它看起来不错:
[23] pry(main)> 0100
=> 64
Run Code Online (Sandbox Code Playgroud)
那么这些数字被称为什么(它不是直接的二进制......我正在考虑它们应该是什么,但不断提出一个空白).另外为什么它们如此重要?任何人都可以发布描述它们的文档的链接吗?
我正在考虑构建一个快速而肮脏的脚本来帮助朋友。它将需要接受网络摄像头输入并对其执行非常简单的计算(想想像素随时间的增量亮度,计算上相对简单)。
我目前倾向于像opencv一样使用c++ ,但我想知道,因为这是一项计算成本很低的任务,(当然相对而言)是否有一种方法可以简单地使用ruby-opencv或其他一些技术来保持它在一个脚本语言。
自从我一直在寻找以来,我一直无法找到任何方法将实时网络摄像头图像导入到 ruby 脚本中,但我很高兴我的搜索技能被优秀的 SO 社区证明是不够的!
到目前为止我看过的地方:
总之; 有没有办法将实时网络摄像头图像导入 ruby 脚本以对其进行简单计算?(我正在考虑使用 opencv,但与任何特定想法无关。
对不起,这是一个非常简单的问题,但我无法有效地谷歌.
基本上,我希望:s/\v\w+/foo/行为相同,:s/\v[\w]+/foo/但是放在\w字符集中的后者与任何东西都不匹配.
是否有启用此功能的标志?这不受支持吗?
谢谢,抱歉这个简单的问题.顺便说一句,我知道[:alnum:]和我可以使用的[a-zA-Z]东西或类似的东西(可能带有下划线,我记不清了),但是正在寻找一种使用一致,快速表示法的方法.
由于代码示例值得千言万语,我将从那开始:
testList = [1,2,2,3,4,5]
testSet = map sumMapper $ tails testList
where sumMapper [] = []
sumMapper (a:b) = sumMap a b
sumMap a b = map (+ a) b
Run Code Online (Sandbox Code Playgroud)
这段代码采用一个列表并将所有元素相加以得到所有元素的总和(我也对这个效率感兴趣).testSet的输出是:
[[3,3,4,5,6],[4,5,6,7],[5,6,7],[7,8],[9],[],[]]
Run Code Online (Sandbox Code Playgroud)
我想找到这些列表的联合(使它成为一组)但我觉得:
whatIWant = foldl1 union testSet
Run Code Online (Sandbox Code Playgroud)
将有不好的表现(真实的名单将长达数千个元素).
这是正确的解决方案还是我错过了一些明显的东西?
我喜欢红宝石的事情是为其增色不少:如果我们使用inject或map沿take_while和select,我们就可以链块一起,实现了很多东西,写一点.
坚持单线解决方案的想法,如何for在不编写整个嵌套for循环的情况下在Ruby中编写嵌套循环?我觉得这一定是可能的,我只是不能为我的生活弄清楚它是什么.我正在寻找这样的东西:
10.times {|a| 10.times {|b| a*b}}
Run Code Online (Sandbox Code Playgroud)
我能想出的唯一解决方案是嵌套for循环.有没有人有更好的解决方案?
array = []
for a in (1..10)
for b in (1..10)
array << a*b
end
end
Run Code Online (Sandbox Code Playgroud) 所以浮点运算是不精确的,但这并没有完全解释这里发生了什么:
[46] pry(main)> a=0.05
=> 0.05
[47] pry(main)> a=a*26.0/65
=> 0.02
Run Code Online (Sandbox Code Playgroud)
所以我们在这里得到了我们的期望,我们得到了正确的答案,世界不断变化.但是我们后来重写这个功能,我们这样做,而我们交换行a=a*26.0/65了a*=26.0/65是不是很好,我们输入一个字符少!让我们看看这对我们有何影响?
[48] pry(main)> a=0.05
=> 0.05
[49] pry(main)> a*=26.0/65
=> 0.020000000000000004
[50] pry(main)> 26.0/65
=> 0.4
Run Code Online (Sandbox Code Playgroud)
它表明a*=b与写作不同a=a*b.它似乎不是一个正常的浮点舍入误差,因为这些数字都不应该被舍入为浮点数(尾数应该足够长,每个26.0,26.0/65,65.0)
我确信引擎盖下有一些微妙的内容,想知道发生了什么?
给定路径可能存在或不存在的文件列表,如何在 Python 中创建目录?
我正在从 s3 下载一些文件,这些文件可能存在于某个目录中,也可能不存在。基于这些代表可能存在也可能不存在的潜在深层嵌套目录的键。
因此,根据 /a/number/of/nested/dirs/file.txt 键,如果 /a/number/of/nested/dirs/ 不存在,我如何创建它们,并以不采取的方式进行创建永远检查列表中的每个文件。
我这样做是因为如果本地父目录尚不存在就会get_contents_to_filename中断。
我使用答案的最终解决方案:
for file_with_path in files_with_paths:
try:
if not os.path.exists(file_with_path):
os.makedirs(file_with_path)
site_object.get_contents_to_filename(file_with_path)
except:
pass
Run Code Online (Sandbox Code Playgroud) 我一直在看这些功能:
import Data.Digits (digits)
numberDivider (a,b) = a / b
numberDivider2 (num,denom) = num / denom
where
a = head $ digits 10 num
b = head . tail $ digits 10 denom
Run Code Online (Sandbox Code Playgroud)
我们可以看看这些函数的类型:
?> :t numberDivider2
numberDivider2 :: (Integral a, Fractional a) => (a, a) -> a
?> :t numberDivider
numberDivider :: Fractional a => (a, a) -> a
Run Code Online (Sandbox Code Playgroud)
这numberDivider会做你认为它做的事情.numberDivider2得到:
No instance for (Show a0) arising from a use of ‘print’
The type variable ‘a0’ …Run Code Online (Sandbox Code Playgroud)