我在表1中的Excel中有一个数据表,它引用了许多其他表中的各种不同单元格.当我尝试对工作表进行排序或过滤时,引用会在单元格移动时发生变化.但是,我不想手动进入每个单元格并在任何地方插入$符号,因为一些引用是连续的,我可能想稍后自动填充.
例如,我的一个数据列使用表2,B列23:28,表2,C列1:15和其他一些.使用表2的列B的列的部分在排序之前都在同一位置,每个其他部分也是如此.如果我插入$符号,我将无法再插入空行并使用自动填充来获取新数据.
总之,我想要一种方法来保持我的单元格引用静态而不使用$符号,但仅用于排序/过滤目的.我目前的解决方法涉及复制表的值,粘贴在空白表中,然后排序.我希望有更好的方法来做到这一点.
我正在制作我的第一个VBA程序并尝试运行以下功能.该函数检查第一行的特定命名范围,该范围的值不大于其前导值,但小于1.
Public Function findPurchase()
Dim CRT As Range
Set CRT = Range("CostRateTable")
Dim existsBetter As Boolean
existsBetter = True
Dim r As Integer
r = 2
Dim c As Integer
c = 4
While existsBetter
Dim Found As Boolean
FoundBetter = False
While Not FoundBetter And c <= CRT.Columns.Count
If CRT(r, c) > CRT(r, 2) And CRT(r, c) < 1 Then
FoundBetter = True
Else
c = c + 1
End If
Wend
existsBetter = FoundBetter
If existsBetter Then
r …Run Code Online (Sandbox Code Playgroud) 当我看到有趣的声明时,我正在阅读HashSet上的javadoc:
此类为基本操作提供恒定的时间性能(添加,删除,包含和大小)
这让我很困惑,因为我不明白人们如何能够获得恒定的时间,O(1),比较操作的性能.这是我的想法:
如果这是真的,那么无论我将多少数据转储到我的HashSet中,我都能够在恒定时间内访问任何元素.也就是说,如果我在我的HashSet中放入1个元素,它将花费相同的时间来查找它,就好像我有一个googolplex元素.
但是,如果我有一个恒定数量的桶或一致的散列函数,这是不可能的,因为对于任何固定数量的桶,该桶中的元素数量将线性增长(尽管数量很大,但速度很慢) (足够)与集合中的元素数量.
然后,这种方法的唯一方法是每次插入元素时(或每隔几次)更改一个哈希函数.一个简单的哈希函数,永远不会发生任何冲突,满足这种需求.字符串的一个玩具示例可能是:获取字符串的ASCII值并将它们连接在一起(因为添加可能会导致冲突).
但是,这种散列函数以及此类任何其他散列函数可能会因足够大的字符串或数字等而失败.您可以形成的存储桶数量会立即受到您拥有的堆栈/堆空间量等因素的限制. ,不能无限期地跳过内存中的位置,所以你最终必须填补空白.
但是如果在某个时刻重新计算哈希函数,这只能与找到通过N个点的多项式或O(nlogn)一样快.
因此到了我的困惑.虽然我会相信HashSet可以在O(n/B)时间内访问元素,其中B是它决定使用的桶的数量,但我没有看到HashSet如何在O中执行添加或获取函数( 1次.
以下内容来自RHEL上的/etc/init.d/functions.我试图找出__pids_var_run()当我遇到这个while循环时函数的作用.
while : ; do
read line
[ -z "$line" ] && break
for p in $line ; do
if [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] ; then
if [ -n "$binary" ] ; then
local b=$(readlink /proc/$p/exe | sed -e 's/\s*(deleted)$//')
[ "$b" != "$binary" ] && continue
fi
pid="$pid $p"
fi
done
done < "$pid_file"
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下while : ; do ; ... done < "$pid_file"吗?更具体地说,之后的最后一部分done,其余部分或多或少都是有道理的.
在阅读了有关SAML的一些文章(包括"SAML for dummies")和SAML wiki文章后,我仍然完全不清楚SAML如何实际解决SSO问题.假设我以Google帐户为例.我的理解是,如果我去GMail并实施SAML,我将被重定向到一个IDP,比方说,这是Google的登录权限.我的浏览器然后带着重定向到那里,我被要求登录.在提供正确的登录信息后,我返回GMail,并使用Google登录的私钥加密令牌和SAML响应,然后使用GMail进行身份验证公钥,从而证实我,事实上,我说的是我.
令我感到困惑的是,这似乎解决了第一次签名或单个应用程序的问题,但我不明白当我现在去Google云端硬盘时会发生什么.即使我的浏览器将SAML令牌/响应保存为cookie,我也必须在令牌过期后再次登录,我读过,就像2分钟之后.此外,即使在同一个应用程序中,分离资源或端点的请求似乎也会以相同的方式超时.
我唯一的提示是,根据维基文章,第1步在SP检查中的目标资源检查"有效的安全上下文".但是,如果GMail和Drive是不能相互通信的独立应用程序,Drive会如何知道我已经拥有有效的安全上下文?
问题:
我正在尝试编写一个简单的bash脚本来计算目录中的文件数,然后将名为file <#files>的新文件添加到目录的末尾.我目前的尝试是:
name="out"
num=$(ls -l|wc -l)
echo foo > "${name}${num}"
Run Code Online (Sandbox Code Playgroud)
但是,这给了我一堆空格,产生了文件名out 12.为什么会出现空格,如何在不创建空格的情况下连接这些字符串?
我正在看这个例子,并想知道第一行是做什么的:
private SiteStreamsListener listener = new SiteStreamsListener() {
Run Code Online (Sandbox Code Playgroud)
看起来您可以以这种方式声明其他方法或覆盖方法.例如,我可以做以下事情吗?
ArrayList myList = new ArrayList() {
@Override String toString()
{
<my code here>
}
<insert new methods here>
}
Run Code Online (Sandbox Code Playgroud) 我正在关注本教程,并且已经到达测试部分。当我在测试运行时创建HelloControllerTest文件以及HelloControllerIT测试目录中的文件时。但是,如果我重命名第二个文件以单词开头,例如,则它也将运行。我在使用Maven构建过程中从命令行运行测试。我在OSX上运行Maven 3.3.9。src/test/java/hello/HelloControllerTestTestHelloController2Testmvn clean verify
我有两个主要问题:Maven如何知道要运行哪些测试?而且,更重要的是,我如何告诉Maven运行其他测试?下面是我的pom.xml,直接取自本教程:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-spring-boot</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud) 我正在尝试执行以下操作:
struct Code
{
GF2X generator;
vector<GF2X> codeWords;
};
vector<Code> allCodes;
Run Code Online (Sandbox Code Playgroud)
但是,我最终得到了这个错误:
error: template argument for 'template<class _Alloc> class std::allocator' uses local type 'main()::Code'|
Run Code Online (Sandbox Code Playgroud)
我完全迷失了这意味着什么.这也是我第一次用C++编程.
我认为这个问题看起来很愚蠢,但我似乎无法让它发挥作用。如何将正则表达式合并到 Python string.split 方法中?下面是一些示例代码:
ip = '192.168.0.1:8080'
tokens = ip.split('[.|:]')
print tokens
Run Code Online (Sandbox Code Playgroud)
由于某种原因,这会生成['192.168.0.1:8080']. 有人可以指出我缺少什么吗?我试过转义字符并使用双引号,但似乎没有任何改变。
我目前正在运行一个 ruby 脚本,它将其 HTTP 流量记录到标准输出。因为我希望日志是持久的,所以我将输出重定向到一个带有ruby ruby_script.rb >> /var/log/ruby_script.log. 但是,日志现在变得非常大,所以我想使用以下方法实现 logrotate:
"/var/log/ruby_script.log" {
missingok
daily
rotate 10
dateext
}
Run Code Online (Sandbox Code Playgroud)
但是,在运行logrotate --force -v ruby_script其中“ruby_script”是 logrotate.d 配置文件的名称后,不会为脚本创建新文件以写入,而是写入旋转的文件。我猜这种行为的发生是因为传递>>的文件描述符不管移动它都粘在文件上,并且在第一次调用后与文件名无关。因此,我的问题是,实现我正在寻找的功能的正确方法是什么?