小编rwb*_*rwb的帖子

Ruby/Rails - 更改时间的时区,而不更改值

foo在数据库中有一个记录:start_time:timezone属性.

例如,:start_time是UTC时间2001-01-01 14:20:00.这:timezone是一个字符串 - America/New_York例如.

我想创建一个新的Time对象,其值为,:start_time但其时区由其指定:timezone.我不想加载:start_time然后转换为:timezone,因为Rails会很聪明并且从UTC更新时间以与该时区保持一致.

目前,

t = foo.start_time
=> 2000-01-01 14:20:00 UTC
t.zone
=> "UTC"
t.in_time_zone("America/New_York")
=> Sat, 01 Jan 2000 09:20:00 EST -05:00
Run Code Online (Sandbox Code Playgroud)

相反,我想看到

=> Sat, 01 Jan 2000 14:20:00 EST -05:00
Run Code Online (Sandbox Code Playgroud)

即.我想要做:

t
=> 2000-01-01 14:20:00 UTC
t.zone = "America/New_York"
=> "America/New_York"
t
=> 2000-01-01 14:20:00 EST
Run Code Online (Sandbox Code Playgroud)

ruby time timezone datetime ruby-on-rails

95
推荐指数
5
解决办法
6万
查看次数

为什么SQL Server使用"Binn"目录而不是"Bin"

出于纯粹的好奇心,为什么SQL Server会创建一个Binn文件夹

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn
Run Code Online (Sandbox Code Playgroud)

而不是使用Bin文件夹,因为更常见的?肯定有一些理由吗?

sql-server

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

从Ruby中的数组数组中的一列中选择所有元素?

我有一个数组数组:

arr = [["Foo1", "Bar1", "1", "W"], 
["Foo2", "Bar2", "2", "X"], 
["Foo3", "Bar3", "3", "Y"], 
["Foo4", "Bar4", "4", "Z"]]
Run Code Online (Sandbox Code Playgroud)

我想要一个只包含每个数组的第三列的数组:

res = ["1", "2", "3", "4"]
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我想输入类似的东西:

arr[][2]
Run Code Online (Sandbox Code Playgroud)

但是考虑更像Ruby,我试过:

arr.select{ |r| r[2] }
Run Code Online (Sandbox Code Playgroud)

但这会返回整行.

ruby

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

无法使用Ruby 1.9.3在RubyMine 4.5中进行调试

我对问题的长度表示道歉,但我想说清楚我没有犯任何愚蠢的错误!

所以,我正在努力使用Ruby 1.9.3在RubyMine 4.5中进行调试,我的步骤如下:

Fresh(即已删除所有以前的ruby和gem目录)安装Ruby 1.9.3,Ruby Gems,DevKit和Rails(遵循本指南) - 工作正常.

然后我尝试开始使用我的团队的ruby代码.我在RubyMine中打开目录(首先记住删除.idea目录)并提示bundle install我按要求运行我(从控制台)运行的目录.这成功完成.重启RubyMine.

然后我确保Ruby正在工作:工具> IRB控制台> puts "test" #test => nil- 工作我现在尝试调试器(SHIFT+ F9)并看到消息:

The gem ruby-debug-base19x required by the debugger is currently not installed. Would you like to install it?"

我点击取消并检查我的Gemfile,唯一与调试相关的是:

# Debugging
gem 'debugger'
#gem 'ruby-debug-base19', :require => false
#gem 'ruby-debug19', :require => false
gem 'ruby-prof', :require => false #, :git => 'git://github.com/wycats/ruby-prof.git'
Run Code Online (Sandbox Code Playgroud)

看起来我们有调试器支持ruby-debug.但是,在这里阅读,似乎debugger还不够.我需要安装ruby-debug-base19x.所以,遵循 …

ruby ruby-on-rails rubymine

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

使用型号名称中的大写字母覆盖Rails控制器路由

我想在rails中创建一个模型:

rails generate model ABCThing
Run Code Online (Sandbox Code Playgroud)

所以这将创建一个表,abc_things.大.问题出在控制器和路由上.我希望我的控制器是:

class ABCThingsController < ApplicationController
end
Run Code Online (Sandbox Code Playgroud)

但是,加入之后 routes.rb

resources :abc_things, :only => [:index]
Run Code Online (Sandbox Code Playgroud)

并创建相应的index视图,我在浏览器中收到以下错误:

Expected /app/controllers/abc_things_controller.rb to define AbcThingsController
Run Code Online (Sandbox Code Playgroud)

问题很容易看到("ABCThings".tableize.classify => "AbcThing"),但我不太确定如何解决它.我想覆盖从视图到控制器的rails默认路由,但我不知道如何.

将不胜感激任何帮助(以及更好的问题标题的建议!)

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

减少Scala中的循环?

第一天和第一次尝试使用Scala - 所以对我来说很容易!我正在尝试重写一些旧的Java代码,它只是一个函数,它接受两个数字并打印出从x到y的数字.例如,我有增量功能:

    def increment(start: Int, finish: Int) = {
      for (i <- start to finish) {
         println("Current value (increasing from "+start+" to "+finish+") is "+i)
      }
    }
Run Code Online (Sandbox Code Playgroud)

然而,我正在努力写一个相应的减量函数,从开始到结束将减少?我已经向下Scala或者循环减少了吗?但我仍然不确定

谢谢

scala

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

R中的质量变量声明和赋值?

抱歉,如果这是一个愚蠢的问题 - 但这是我第一次尝试使用R,并且我最终编写了一些代码:

some <- vector('list', length(files))
thing <- vector('list', length(files))
and <- vector('list', length(files))
another <- vector('list', length(files))
thing <- vector('list', length(files))
Run Code Online (Sandbox Code Playgroud)

有没有更好的(DRY)方式来做到这一点R

换句话说,我想一次为多个变量分配相同的值(根据@Sven Hohenstein的回答)

r variable-assignment

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

oci_bind_by_name和to_date PHP/OCI/Oracle

我有以下内容:

    $ARTIFACT_NAME = $_POST['ArtifactName'];
    $ARTIFACT_TYPE = $_POST['ArtifactType'];
    $ARTIFACT_LOCATION = $_POST['ArtifactLocation'];
    $ARTIFACT_DOMAIN = $_POST['ArtifactDomain'];
    $ARTIFACT_AUTHOR = $_POST['ArtifactAuthor'];
    $ARTIFACT_LABEL = 'DB_'.$ARTIFACT_LOCATION.'_'.$ARTIFACT_DOMAIN.'_'.$ARTIFACT_NAME;
    $AUDIT_CONSTRAINTS = $_POST['AuditConstraints'];
    $SECURITY_CONSTRAINTS = $_POST['SecurityConstraints'];
    $REGISTERED_EMAIL = $_SERVER['HTTP_REMOTE_USER'];
    $REGISTERED_TIMESTAMP = "to_date('15-08-2011 14:32:37', 'DD-MM-YYYY HH24:MI:SS')";

    $query =    "INSERT INTO ".$db_schema.".ARTIFACTS (ARTIFACT_ID, ARTIFACT_NAME, ARTIFACT_TYPE, ARTIFACT_LOCATION, ARTIFACT_DOMAIN, ARTIFACT_AUTHOR, ARTIFACT_LABEL, AUDIT_CONSTRAINTS, SECURITY_CONSTRAINTS, REGISTERED_EMAIL, REGISTERED_TIMESTAMP)
                VALUES (:bind1, :bind2, :bind3, :bind4, :bind5, :bind6, :bind7, :bind8, :bind9, :bind10, :bind11)";
    $statement = oci_parse($connection, $query);

    oci_bind_by_name($statement, ":bind1", $ARTIFACT_ID);
    oci_bind_by_name($statement, ":bind2", $ARTIFACT_NAME);
    oci_bind_by_name($statement, ":bind3", $ARTIFACT_TYPE);
    oci_bind_by_name($statement, ":bind4", $ARTIFACT_LOCATION);
    oci_bind_by_name($statement, ":bind5", …
Run Code Online (Sandbox Code Playgroud)

php oracle oracle-call-interface ora-01858

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

Hirb - "太多的字段......"仅在从irbrc加载时(不直接在控制台中)

我想在我的控制台中安装Hirb.

当我输入:

require 'hirb'
Hirb.enable
Run Code Online (Sandbox Code Playgroud)

我(相当大)的表打印正常(列名缩短).但是,每当我加载时,我想自动加载此(和其他宝石)rails c,所以我编辑了我的.irbc

  if Rails.env
    require 'rubygems'
    require 'hirb'
    Hirb.enable

    require 'wirble'
    Wirble.init
    Wirble.colorize

    require 'awesome_print'
  end
Run Code Online (Sandbox Code Playgroud)

从控制台(Account.all)运行相同的命令时,我得到错误:

Too many fields for the current width. Configure your width and/or fields to avoid this error. Defaulting to a vertical table
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我真的很喜欢Hirb,但每次加载控制台时我都懒得手动包含它

ruby ruby-on-rails hirb

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

C++ Noobie - 为什么移动这些行会破坏我的应用程序?

这是我第一次尝试使用C++,下面是一个通过控制台应用程序计算提示的示例.完整(工作代码)如下所示:

// Week1.cpp : Defines the entry point for the console application.

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    // Declare variables
    double totalBill = 0.0;
    double liquour = 0.0;
    double tipPercentage = 0.0;
    double totalNoLiquour = 0.0;
    double tip = 0.0;
    string hadLiquour;

    // Capture inputs
    cout << "Did you drink any booze? (Yes or No)\t";
    getline(cin, hadLiquour, '\n');

    if(hadLiquour == "Yes") {
        cout << "Please enter you booze bill\t";
        cin …
Run Code Online (Sandbox Code Playgroud)

c++

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