我有一个基于视图的NSTableView,它嵌入在NSScrollView中.它具有x个像素高的自定义单元格.NSScrollView与它是子视图的面板大小相同.我想调整整个NSTableView的大小,具体取决于表中的行数.
除了调整大小外,一切正常.在IB中手动调整滚动视图的大小似乎具有所需的效果,但NSSrollView似乎没有用于调整其视图大小的类方法(如NSView具有setFrame).我应该调整scollview,tableview,还是其他什么?NSScrollView是否有我缺少的setFrame方法或类似方法?
谢谢.
这可能是一个愚蠢的问题.
我有一个脚本,我想在Mac OS X和我使用的Linux机箱之间移植.在OS X中,脚本中的命令需要sudo,在Linux框中,它不需要.
简而言之,如何在脚本中运行一个命令sudo,然后删除脚本其余部分的提升权限?
我试过用
su -
Run Code Online (Sandbox Code Playgroud)
和
su -c
Run Code Online (Sandbox Code Playgroud)
但他们似乎都错了.(他们说"抱歉"并继续前进,我认为因为它试图运行root而root没有密码).
我知道必须有一个愚蠢而简单的方法来做到这一点,每个人都建议什么?
我试图在ruby中的两个字符串之间获取一组文本,我似乎无法获得正确的方法或使用正确的正则表达式.
文本:
<html>
<body>
<!-- begin posts -->
<h1>all kinds of html<h1>
<p> blah blah </p>
<p> i've been working on this forever </p>
<!-- end posts -->
</html>
</body>
Run Code Online (Sandbox Code Playgroud)
我只是想从得到的一切<!-- begin posts -->到<!-- end posts -->,包容性,并保存那个文本块中的文本文件.
我想出了如何在开头打印线:
File.open("index.html").each_line do |line|
body.each {|line| puts line if line =~ /<!-- begin/}
但不是后面的行和直到最后一个字符串.
我在这里有一个rubular http://rubular.com/r/0W9QDpMGkM,我无法找到任何东西.
提前谢谢大家.
我正在尝试编写一个go函数,它将在文本文件中读取行,对它们进行排序(按字母顺序排列),并将它们覆盖回文件.现在,我能够基本上模拟cat,但我似乎无法操纵read_line中元素的内容.
func sort() {
ff, _ := os.OpenFile(file, os.O_RDWR, 0666)
f := bufio.NewReader(ff)
for {
read_line, _ := f.ReadString('\n')
fmt.Print(read_line)
if read_line == "" {
break
}
}
ff.Close()
}
Run Code Online (Sandbox Code Playgroud)
当我使用ReadString时,我如何将每一行存储到切片中(或者有更好的方法来存储它们以便我可以操作它们)?然后我会以类似于这样的方式使用sort包:
sorted := sort.Strings(lines)
Run Code Online (Sandbox Code Playgroud)
然后,写入文件,我使用类似于下面的东西,虽然我还没有列入,因为我还没有得到"排序"的工作:
io.WriteString(ff, (lines + "\n"))
Run Code Online (Sandbox Code Playgroud)
提前感谢您的任何建议!
嘿伙计们,我在两个目录上运行差异,递归地,有几个选项.目录有点大,但是,我试图只是看到文件夹内容的差异,而不是文件之间的差异,使用-q选项(我使用这个吗?)
我也尝试过rsync干运行,这似乎也需要同样的时间.输出通过sed,我试过没有,它似乎没有任何影响.我也忽略隐藏文件.我想我可能错误地使用diff -q来比较2个目录的内容.
我使用了另一个提示的代码块来计算这些目录中的一个是多久(1个目录,14个子目录),花了88分钟.然而,每个文件都是一个30分钟的电视节目,所以如果差异比较这些文件,这是有道理的,但我认为-q会导致这种情况不会发生?
另外,一个目录安装在AFP上,一个是火线连接的外部驱动器.这没关系,因为我在本地复制了两个目录,并且差异占用了相同的时间.我有一个解决方案 - 我在两个目录上运行ls -1并对输出进行差异化 - 但为什么差异需要这么长时间才能运行?
这是代码; 有什么建议?
#!/bin/bash
before="$(date +%s)"
diff -r -x '.*' /Volumes/directory1/ /Volumes/directory2/ | sed 's/^.\{24\}//g' > /Volumes/stuff.txt
diff -r -x '.*' /Volumes/directory3/ /Volumes/directory4/ | sed 's/^.\{24\}//g' > /Volumes/stuff.txt
diff -r -x '.*' /Volumes/directory5/ /Volumes/directory6/ | sed 's/^.\{24\}//g' > /Volumes/stuff.txt
diff -r -x '.*' /Volumes/directory7/ /Volumes/directory8/ | sed 's/^.\{24\}//g' > /Volumes/stuff.txt
diff -r -x '.*' /Volumes/directory9/ /Volumes/directory10/ | sed 's/^.\{24\}//g' > /Volumes/stuff.txt
diff -r -x '.*' /Volumes/directory11/ /Volumes/directory12/ | sed 's/^.\{24\}//g' > …Run Code Online (Sandbox Code Playgroud) 编程新手,甚至更新。使用小型go程序遇到麻烦-无法编译未定义的变量错误。代码:
package main
import (
"fmt"
"io"
"os"
)
const file = "readfile.txt"
var s string
func lookup(string) (string, string, string) {
artist := s
album := s
year := s
return artist, album, year
}
func enterdisk() (string, string, string) {
var artist string
var album string
var year string
println("enter artist:")
fmt.Scanf("%s", &artist)
println("enter album:")
fmt.Scanf("%s", &album)
println("enter year:")
fmt.Scanf("%s", &year)
return artist, album, year
}
func main() {
println("enter UPC or [manual] to enter information manually:")
fmt.Scanf("%s", …Run Code Online (Sandbox Code Playgroud) 我觉得我已经阅读了FMDB的文档一百万次.我不知道为什么这个代码不起作用 - 我已经尝试了executeUpdate方法和executeMethodWithFormat及其相应的格式,似乎都不起作用._dbArray是一个dictionarys数组.这些行返回正确的值 - 如果我复制并粘贴结果并在终端中运行查询,它将删除记录正常.我错过了明显的东西吗?
- (IBAction)deleteDbEntry:(id)sender {
// get selected row
NSInteger row = [_dataTable selectedRow];
// get the entry number
NSString *idToDelete = [[_dbArray objectAtIndex:row] valueForKey:@"entryColumn"];
// open DB for writing
if (![db open]) {
[db open];
}
[db executeUpdate:@"DELETE FROM tbl1 WHERE entry = ?", idToDelete];
// close DB
if ([db open]) {
[db close];
}
[_dataTable reloadData];
return;
}
Run Code Online (Sandbox Code Playgroud)
更新:我已经采纳了你的建议,它仍然没有工作,我不知道为什么.数据库的打开和关闭现在正在其他地方发生(谢谢@ccgus),我正在将字符串转换为NSNumber(感谢@bryanmac).在NSLog(@"myNumber is %@", myNumber);调用返回正确的号码,我可以证实,删除没有发生.的NSLog(@"Error %d: %@", [db lastErrorCode], [db lastErrorMessage]);是报告没有任何错误(Error 0: (null) …
我有一个住在菜单栏中的应用程序,没有主菜单或停靠图标.我有一个触发按钮[NSApp orderFrontStandardAboutPanel:sender];.单击该按钮时,有时,"关于"面板将变为最前面.但是,其他时候,"关于"面板会打开,但在其他正在运行的应用程序窗口后面(要清楚,在其他应用程序的窗口后面,而不是在菜单栏的弹出窗口后面).我甚至不确定从哪里开始调试这个 - 任何建议?
谢谢.
我正在尝试编写一个正则表达式,用于生成不在括号或括号中的字符串中的内容.括号总是一年,括号可以包含任何普通字符,大写和小写.我通过查找括号和括号然后[^\regex]来逃避它(这是对的吗?)
这是字符串:
s = 'Some words (1999) [THINGS]
Run Code Online (Sandbox Code Playgroud)
和正则表达式:
/[^(\(\d{4}\))|\[.*\]]/
Run Code Online (Sandbox Code Playgroud)
但这包括括号内的字符见(http://rubular.com/r/bbpcnnGgCI)
一切正常,直到添加[^\regex]
例如,这可以得到(1999):
>> puts s.match(/\(\d{4}\)/)
(1999)
Run Code Online (Sandbox Code Playgroud)
以及括号中的内容:
>> puts s.match(/\[.*\]/)
[THINGS]
Run Code Online (Sandbox Code Playgroud)
但是使用|将它们放在一起 为"或":
>> puts s.match(/\(\d{4}\)|\[.*\]/)
(1999)
Run Code Online (Sandbox Code Playgroud)
...它只是匹配括号及其内容.
这里发生了什么?
我在这做错了什么?
我有一个哈希引用数组:
my @price = (
{
id => '1',
label => 5.00
},
{
id => '2',
label => 7.50
},
);
Run Code Online (Sandbox Code Playgroud)
我还有2个变量整数,$ diff和$ last.当我尝试迭代数组以将"标签"乘以$diff/$last:
foreach (@price) {
print "(($diff/$last)*$_->{label})\t";
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
((12/30)*5.00)
((12/30)*7.50)
Run Code Online (Sandbox Code Playgroud)
我假设它没有倍增,因为我有两个整数和一个哈希引用.如果这是正确的,我如何使哈希引用成为整数?如何强制Perl实际进行数学运算并打印最终产品?