给定一些表:
我可以通过将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"
或其他标识符对我来说并不重要。重要的是我想找到给定名称的列,而不是相反。
我按照rails教程,我们提交了一个带有ajax的表单.我们用remote: true
在form_for
:
<%= form_for @task, remote: true do |f| %>
Run Code Online (Sandbox Code Playgroud)
一切正常.但我很困惑remote: true
.目的是remote: true
什么?
在博客文章中,作者提到Electron将Node和Chromium组合成一个"单一上下文",这意味着我们不必使用Browserify来转换代码.
我理解Electron的一个含义是您可以使用Web技术构建跨平台桌面应用程序.我也理解为什么我们能够写入文件系统的原因是因为Electron已经将Node编入其中.而且,我们能够使用HTML/CSS/JS/DevTools的原因是因为Chromium被烘焙了.但是,我不要以为这是作者所说的.
我正在尝试测试 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测试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.
为什么我会收到这些警告?
在数学中,两个或多个整数的最大公约数(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
是可以进入这两个最大的数字a
和b
.
但为什么再次调用相同的方法,但转换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) 有时我想映射一个集合.如果它是一个阵列很容易:
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
某种方法在哪里.是否有一种简单的方法可以获得散列的"类似地图"的体验?
当我运行命令时:
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
是我的机器上的某个地方?这是先前问题的后续问题。我使用了相同的 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) 我很难理解数据从何处传递并可供部分使用的一般方式。
例如:
我有一个控制器将实例变量传递给呈现局部变量的模板:
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)
也是因为我真的在处理microposts
Rails知道给micropost
变量的集合吗?
我读了另一个关于如何使用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)
"%04o"
不行?