小编mbi*_*ras的帖子

查找给定标题行名称的列

给定一些表:

在此输入图像描述

我可以通过将A1 表示法datetime中的列索引硬编码到我的函数中来获取 B 列的第一行值:"B:B"onEdit

function onEdit(event)
{
  var datetime_col = "B:B";
  Logger.log(event.range.getSheet().getRange(datetime_col).getValue());
  //=> [17-03-06 11:39:47:752 PST] datetime
}
Run Code Online (Sandbox Code Playgroud)

但我想要给定字符串的列 id "datetime"

"B:B"列是否表示为范围、 string 、 string"B"或其他标识符对我来说并不重要。重要的是我想找到给定名称的列,而不是相反。

google-sheets google-apps-script google-sheets-api

3
推荐指数
1
解决办法
4381
查看次数

远程的目的:在rails中为true

我按照rails教程,我们提交了一个带有ajax的表单.我们用remote: trueform_for:

<%= form_for @task, remote: true do |f|   %>
Run Code Online (Sandbox Code Playgroud)

一切正常.但我很困惑remote: true.目的是remote: true什么?

ajax ruby-on-rails ruby-on-rails-4

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

Electron将Node.js和Chromium上下文结合起来意味着什么?

博客文章中,作者提到Electron将Node和Chromium组合成一个"单一上下文",这意味着我们不必使用Browserify来转换代码.

我理解Electron的一个含义是您可以使用Web技术构建跨平台桌面应用程序.我也理解为什么我们能够写入文件系统的原因是因为Electron已经将Node编入其中.而且,我们能够使用HTML/CSS/JS/DevTools的原因是因为Chromium被烘焙了.但是,我不要以为这是作者所说的.

  • Electron如何将Node和Chromium组合成"单一环境"?
  • 为什么不再使用Browserify?

javascript chromium node.js browserify electron

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

在 Rails 5 控制台中运行助手

我正在尝试测试 rails 控制台中的一些帮助程序。

我读了另一个描述一些技术的答案

在我的第一次尝试中,我开始在helpers对象上调用我的助手:

[10] pry(main)> helper.class
=> ActionView::Base
[1] pry(main)> helper.link_to gravatar_for(User.first, size: 50), User.first
  User Load (0.2ms)  SELECT  "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT ?  [["LIMIT", 1]]
NoMethodError: undefined method `gravatar_for' for main:Object
from (pry):1:in `__pry__'
[2] pry(main)> include UsersHelper
=> Object
[3] pry(main)> helper.link_to gravatar_for(User.first, size: 50), User.first
  User Load (0.2ms)  SELECT  "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT ?  [["LIMIT", 1]]
NoMethodError: undefined method `image_tag' for …
Run Code Online (Sandbox Code Playgroud)

ruby console ruby-on-rails-5

2
推荐指数
1
解决办法
2490
查看次数

警卫警告"警告:正在装载,通知要求被视为有害"

我有一个简单的Ruby测试envinvorment设置:minitest,guard,guard-minitest和terminal-notifier-guard.

我正在使用以下内容,Rakefile因此我的测试默认运行,因为这是Travis CI默认执行的操作.

require 'rake/testtask'
task :default => [:test]
Rake::TestTask.new do |t|
  t.libs << 'test'
  t.pattern = "test/test_*"
end
Run Code Online (Sandbox Code Playgroud)

测试确实运行并通过,但我得到多个屏幕值得警告.我找到了答案另一个答案.

但似乎这些解决方案特定于rails和rspec.

为什么我会收到这些警告?

您可以在GitHub上找到完整的项目,并在此要点中找到完整的错误输出

ruby rake guard minitest

2
推荐指数
1
解决办法
1370
查看次数

这种方法如何确定最大公约数?

在数学中,两个或多个整数的最大公约数(gcd),当它们中的至少一个不为零时,是最大的正整数,它将数字除以没有余数.例如,8和12的GCD是4. 维基百科

以下方法可以确定GCD:

def gcd(a, b)
  if a % b == 0
    b
  else
    gcd(b, a % b)
  end
end
p gcd(4, 12)
#=> 4
Run Code Online (Sandbox Code Playgroud)

这种方法有什么用?

这是有道理的,如果a % b == 0那么b是可以进入这两个最大的数字ab.

但为什么再次调用相同的方法,但转换args并再次采用模数?

我不是在讨论这个else部分背后的原因.

编辑:

添加一些puts语句以使其更清晰:

def gcd(a, b)
  puts "Inside gcd, a: #{a}, b: #{b}, a \% b: #{a % b}"

  if a % b == 0
    puts "Inside if, a: #{a}, b: #{b}, a \% b: #{a …
Run Code Online (Sandbox Code Playgroud)

ruby algorithm math

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

像Array#map一样轻松映射Hash

有时我想映射一个集合.如果它是一个阵列很容易:

foo = [1,2,3]
foo.map {|v| v + 1}
#=> [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

但哈希不能以相同的方式工作:

bar = {a: 1, b: 2, c: 3}
bar.map{|k,v| v+1}
#=> [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我真正喜欢的是:

bar = {a: 1, b: 2, c: 3}
bar.baz{|k,v| v+1}
#=> {:a=>2, :b=>3, :c=>4}
Run Code Online (Sandbox Code Playgroud)

Hash#baz某种方法在哪里.是否有一种简单的方法可以获得散列的"类似地图"的体验?

ruby hash

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

Dockerfiles是否存储在我的机器上?

当我运行命令时:

docker run dockerinaction/hello_world
Run Code Online (Sandbox Code Playgroud)

第一次出现以下情况:

在此输入图像描述

dockerinaction/hello_world Dockerfile下面可以看到:

FROM busybox:latest
CMD ["echo", "hello world"]
Run Code Online (Sandbox Code Playgroud)

所以从措辞:

Docker在Docker Hub中搜索图像

有几件事我很好奇:

  • 形象 dockerinaction/hello_world吗?
  • 这是否图像引用另一个图像命名busybox:latest
  • 怎么样Dockerfile是我的机器上的某个地方?

docker

2
推荐指数
1
解决办法
221
查看次数

无法通过 SSH 连接到 Vagrant VM(不使用 vagrant ssh)第 2 部分

这是先前问题的后续问题。我使用了相同的 Vagrantfile,但已经注释掉了我认为没有必要的两行。

我试图在不使用vagrant ssh. 下面是我的 Vagrantfile 和 ssh 配置信息:

流浪文件:

Vagrant.configure(2) do |config|

  config.vm.provider "virtualbox" do |v|
    v.memory = 6144
    v.cpus = 2
    v.name = "mb_vagrant"
  end

  config.vm.box = "ubuntu/trusty64"

  config.vm.network :private_network, ip: "192.168.33.10"

  config.ssh.forward_agent = true

  # config.vm.provision :shell, path: "bootstrap.sh"
  # config.vm.network :forwarded_port, host: 8001, guest: 8001

end
Run Code Online (Sandbox Code Playgroud)

输出vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile "/Users/mbigras/Google Drive/tmp/chef-repo/.vagrant/machines/default/virtualbox/private_key"
  IdentitiesOnly yes
  LogLevel …
Run Code Online (Sandbox Code Playgroud)

linux ssh vagrant

2
推荐指数
1
解决办法
3400
查看次数

Rails 5渲染局部并传递数据

我很难理解数据从何处传递并可供部分使用的一般方式。

例如:

我有一个控制器将实例变量传递给呈现局部变量的模板:

static_pages_controller.rb:

def home
  @feed_items = current_user.feed
end
Run Code Online (Sandbox Code Playgroud)

home.html.erb:

<%= render 'shared/feed' %>
Run Code Online (Sandbox Code Playgroud)

_feed.html.erb:

<%= render @feed_items %>
Run Code Online (Sandbox Code Playgroud)

现在,在我的用户模型内部是一个实例方法,该实例方法进入数据库以获取其帖子:

user.rb:

def feed
  Micropost.where("user_id = ?", id)
end
Run Code Online (Sandbox Code Playgroud)

因此以某种方式(因为Micropost.where(...)返回微博的集合)是,Rails知道如何从_feed.html.erb另一部分开始<li>定义微博的定义方式?

_micropost.html.erb:

<li id="micropost-<%= micropost.id %>">
  <%= link_to adorable_avatar_for(micropost.user, size: 50), micropost.user %>
</li>
Run Code Online (Sandbox Code Playgroud)

也是因为我真的在处理micropostsRails知道给micropost变量的集合吗?

ruby templates partial ruby-on-rails-5

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

如何使用Ruby获得八进制文件权限?

我读了另一个关于如何使用perl 获取八进制文件权限的答案:

$ perl -e 'printf "%04o %s\n", (stat)[2] & 07777, $_ for @ARGV' *.txt
0644 1.txt
0644 2.txt
0644 3.txt
0644 4.txt
0600 PerlOneLiner.txt
0664 perl.txt
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经使用了File::Stat类和#printf方法.但是,我的所有输出都获得了领先的100.

$ ruby -e 'Dir["**/**"].each { |f| printf "%04o\t#{f}\n", File.stat(f).mode }'
100711  cplink
100644  hello_world.rb
100755  lso
100711  rename_images
Run Code Online (Sandbox Code Playgroud)
  • 鉴于我在macOS机器上的领先100意味着什么?
  • 为什么我"%04o"不行?
  • 如何实现与链接的perl脚本相同的输出?

ruby unix file-permissions

0
推荐指数
1
解决办法
1081
查看次数