小编use*_*951的帖子

Ruby中的字符串是否可变?

字符串在Ruby中是否可变?根据文件

str = "hello"
str = str + " world"
Run Code Online (Sandbox Code Playgroud)

使用值创建一个新的字符串对象,"hello world"但是当我们这样做时

str = "hello"
str << " world"
Run Code Online (Sandbox Code Playgroud)

它没有提到它创建了一个新对象,它是否会改变str对象,现在它将具有值"hello world"

ruby string mutable immutability

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

如何从bash脚本中获取进程ID和退出代码?

我需要一个执行以下操作的bash脚本:

  • 启动后台进程,将所有输出定向到文件
  • 将进程的退出代码写入文件
  • 返回进程的pid(立即返回,而不是进程退出时).
  • 该脚本必须退出

我可以得到pid而不是退出代码:

$ executable >>$log 2>&1 &
pid=`jobs -p`
Run Code Online (Sandbox Code Playgroud)

或者,我可以捕获退出代码,但不能捕获pid:

$ executable >>$log;
# blocked on previous line until process exits
echo $0 >>$log;
Run Code Online (Sandbox Code Playgroud)

我怎么能同时做所有这些?

bash shell

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

RSpec NoMethodError:"主要对象的未定义方法`描述"

我正在努力学习Rspec.我在Eclipse中的ruby项目如下 -

在此输入图像描述

代码-

require 'rspec'
require './RubyOffRailsTuts/classes/furlong'

describe Furlong do
end
Run Code Online (Sandbox Code Playgroud)

错误-

/RubyOffRailsTuts/specs/furlong_spec.rb:6:in `<main>': undefined 
method `describe' for main:Object (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

没有在线获得任何有用的答案.我该如何解决这个问题?

ruby rspec

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

OS X:在visual studio代码中的窗口之间循环

我正在拼命想弄清楚如何在Visual Studio代码中循环浏览窗口.在Finder中,有一个Cylcle Through Windows我经常使用的菜单项.但是,这似乎是一个Finder选项.所以我查看了全局快捷方式(因为许多应用程序的要求可能相同),并将其分配Move focus to next window给shift-cmd-F1.这适用于Finder和文本编辑器,但不适用于Visual Studio代码.我检查了VSC中是否覆盖了键绑定,但我不这么认为.

任何人都弄清楚这可以帮助我吗?

编辑:刚刚发现这实际上是系统设置>键盘>快捷方式>将焦点移动到下一个窗口下的全局快捷方式.不幸的是,Visual Code不使用它.

visual-studio-code

27
推荐指数
10
解决办法
1万
查看次数

使用jQuery/JS来确定星期几

是否有使用JavaScript或jQuery的方法来确定它是星期几?例如,如果用户在框中选择的日期是星期日,我可以提醒他们.

javascript jquery date

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

将无穷大转换为整数未定义?

无穷大(由浮点数表示)转换为整数是否为未定义的行为?

标准说:

4.10浮动积分转换

可以将浮点类型的prvalue转换为整数类型的prvalue.转换截断; 也就是说,丢弃小数部分.如果截断的值无法在目标类型中表示,则行为未定义.

但我不知道"截断值是否无法表示"涵盖无穷大.

我试图理解为什么,std::numeric_limits<int>::infinity()static_cast<int>(std::numeric_limits<float>::infinity() )有不同的结果.

#include <iostream>
#include <limits>

int main ()
{
    std::cout << std::numeric_limits<int>::infinity () << std::endl;
    std::cout << static_cast<int> (std::numeric_limits<float>::infinity () ) << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

0  
-2147483648  
Run Code Online (Sandbox Code Playgroud)

结果std::numeric_limits<int>::infinity() 很明确,等于0,但我找不到任何有关无限投射的信息.

c++ undefined-behavior

25
推荐指数
3
解决办法
2551
查看次数

使用引用作为依赖项的类成员

我在内存管理语言上花了一些时间后回到C++,而且我突然想知道实现依赖注入的最佳方法是什么.(我完全卖给DI,因为我发现它是使测试驱动设计变得非常简单的最简单方法).

现在,浏览SO和谷歌在这件事上得到了很多意见,我有点困惑.

作为这个问题的答案,C++中的依赖注入,有人建议你不要传递原始指针,即使是依赖注入.据我所知,这与对象的所有权有关.

现在,在臭名昭着的谷歌风格指南中,也解决了对象的所有权问题(虽然没有详细说明我的州;)):http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Smart_Pointers

所以我理解的是,为了使哪个对象拥有其他对象的所有权更清楚,你应该避免传递原始指针.特别是,它似乎反对这种编码:

class Addict {
   // Something I depend on (hence, the Addict name. sorry.)
   Dependency * dependency_;
public:
   Addict(Dependency * dependency) : dependency_(dependency) {
   }
   ~Addict() {
     // Do NOT release dependency_, since it was injected and you don't own it !
   }
   void some_method() {
     dependency_->do_something();
   }
   // ... whatever ... 
};    
Run Code Online (Sandbox Code Playgroud)

如果Dependency是一个纯虚拟类(又名穷人 - 接口),那么这个代码可以很容易地注入依赖的模拟版本(使用像google mock这样的东西).

问题是,我真的没有看到这种代码可以解决的问题,以及为什么我应该使用除了原始指针以外的任何东西!是不是很清楚依赖来自哪里?

另外,我读了很多帖子,暗示在这种情况下应该使用引用,这样的代码更好吗?

class Addict {
   // Something I depend on (hence, the Addict name. …
Run Code Online (Sandbox Code Playgroud)

c++ dependency-injection

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

是否有类似于继承的类#的钩子只在Ruby类定义之后触发?

#inheritedclass Foo声明之后立即调用.我想要一些只在end关闭类声明的语句之后运行的东西.

这里有一些代码来举例说明我的需求:

class Class
  def inherited m
    puts "In #inherited for #{m}"
  end
end

class Foo
  puts "In Foo"
end
puts "I really wanted to have #inherited tiggered here."


### Output:
# In #inherited for Foo
# In Foo
# I really wanted to have #inherited tiggered here.
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?可以创建吗?我完全没有运气吗?

ruby inheritance metaprogramming class

20
推荐指数
4
解决办法
6223
查看次数

Errno 13 权限被拒绝 Python

在 python 中,我目前正在试验我可以用open命令做什么。我试图打开一个文件,但收到一条错误消息。这是我的代码:

open(r'C:\Users\****\Desktop\File1')
Run Code Online (Sandbox Code Playgroud)

我的错误信息是:

PermissionError: [Errno 13] Permission denied: 'C:\\Users\\****\\Desktop\\File1'
Run Code Online (Sandbox Code Playgroud)

我在网站上寻找一些答案,我看到有人提到的帖子chmod。1. 我不确定这是什么 2. 我不知道如何使用它,这就是我来这里的原因。

python

20
推荐指数
3
解决办法
15万
查看次数

如何设置一个git存储库,其中不同的用户只能看到某些部分?

你如何设置一个git存储库,一些用户可以看到源代码的某些部分,其他用户可以看到所有这些?我已经看到很多指南只给予某些用户提交访问权限,但是这些指南假设每个人都应该具有读访问权限.我也听说过gitosis,但我不确定它是否支持这个并且它在一年多没有任何提交,所以我认为它已经死了.

git security version-control repository access-control

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