相关疑难解决方法(0)

红宝石,!! 操作员(a/k/a the double-bang)

可能重复:
什么!! 红宝石意味着什么?

嗨,

我是Ruby的新手,无法找到什么"!!"的描述 手段.

这是一个例子:

def signed_in?
  !!current_user
end
Run Code Online (Sandbox Code Playgroud)

如果这是双重否定,为什么不说:

def signed_in?
  current_user
end
Run Code Online (Sandbox Code Playgroud)

请帮忙.

ruby operators

92
推荐指数
3
解决办法
4万
查看次数

是!! 在C++中转换为bool的安全方法?

[这个问题有关,但并不等同于这一个 ]

如果我尝试使用某些类型的值作为布尔表达式,我会收到警告.我有时使用三元运算符(?:)转换为bool 而不是抑制警告.使用两个not运算符(!!)似乎做同样的事情.

这就是我的意思:

typedef long T;       // similar warning with void * or double
T t = 0;
bool b = t;           // performance warning: forcing 'long' value to 'bool'
b = t ? true : false; // ok
b = !!t;              // any different?
Run Code Online (Sandbox Code Playgroud)

那么,双重技术真的做同样的事吗?它比三元技术更安全吗?这是技术与非整数类型(例如,具有同样安全void *doubleT)?

我不是在问好!!t风格.我在问它是否在语义上不同于t ? true : false.

c++ boolean visual-c++

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

在Rails中单独的日期和时间表单字段

我有一个Event带有日期时间列的ActiveRecord模型starts_at.我想提交一份表格,其中日期和时间starts_at分别选择(例如"23-10-2010"日期和"18:00"时间).这些字段应该由单列支持starts_at,并且验证也应该优选地反对starts_at.

我当然可以使用虚拟属性和钩子,但我想要一个更优雅的解决方案.我已经尝试了composed_of(rdoc)和属性装饰器(灯塔讨论,github)但没有成功.

以下是我想要的概述.

class Event < ActiveRecord::Base
  validates_presence_of :start_date
end

# View
# On submission this should set start_date.
form_for @event do |f|
  f.text_field :starts_at_date         # date-part of start_date
  f.text_field :starts_at_time_of_day  # time-of-day-part of start_date
  f.submit
end
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

forms activerecord datetime ruby-on-rails-3

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

Ruby boolean double negation约定

谁能告诉我为什么很多Ruby布尔方法都使用这种双重否定约定?

!!(boolean expression)
Run Code Online (Sandbox Code Playgroud)

ruby

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

独家或红宝石的关键字?

Ruby是否具有普通英语关键字,或者像"and"和"or"一样?如果不是,这是因为排他性还是不允许评估短期?

ruby boolean xor

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

什么是"!!" 象征意味着在Ruby?

def test
!!session[:test]
end
Run Code Online (Sandbox Code Playgroud)

! - 这是做什么的?我们可以删除它,仍然认为它将工作相同吗?

ruby

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

什么!! 这个Ruby函数意味着什么?

什么!! 这个Ruby函数意味着什么?

def is_i?
   !!(self =~ /^[-+]?[0-9]+$/)
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

if..else..end的快捷方式

这样的代码有什么样的快捷方式吗?

def test
  obj = get_from_somewhere()
  if obj
    true
  else
    false
  end
end
Run Code Online (Sandbox Code Playgroud)

在Python中,我可以这样做:

return True if obj else False
Run Code Online (Sandbox Code Playgroud)

ruby if-statement

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

`!! empty?`是什么意思?

ActiveSupport Object使用实例方法扩展blank?:

class Object
  def blank?
    respond_to?(:empty?) ? !!empty? : !self
  end
end
Run Code Online (Sandbox Code Playgroud)

可以!!empty?写成empty?呢?这是一个风格选择,以便它作为返回布尔值的方法轻松读取?或者还有其他什么?

ruby boolean negation

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

什么!! some_object做什么?

可能重复:
什么!! 红宝石意味着什么?

这个功能在做什么?

def current_product?
   !!current_product
end
Run Code Online (Sandbox Code Playgroud)

这不是双重否定吗?

ruby ruby-on-rails

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