我有一个属性'first'和'last'的用户模型所以例如User.first.first#=>"Charlie"User.first.last#=>"Brown"
此用户模型还具有虚拟属性"full_name"
#user.rb
def full_name
[first,last].join(' ')
end
def full_name=(name) #don't know what to do with people w/ middle names
split = name.split(' ')
self.first = split[0]
self.last = split[1]
end
Run Code Online (Sandbox Code Playgroud)
例如:
User.first.full_name = "Charlie Brown" #=> "Charlie Brown"
User.first.full_name = "Homer Simpson" #=> "Home Simpson"
User.first.save
User.first.first #=> "Homer"
User.first.last #=> "Simpson"
Run Code Online (Sandbox Code Playgroud)
如果我可以通过该虚拟属性进行搜索,例如动态查找,那就太好了:
User.find_by_full_name('Home Simpson') # this doesn't work
Run Code Online (Sandbox Code Playgroud)
查找条件的示例:
User.all(:conditions => ['full_name LIKE ?', query]) #this doesn't work
Run Code Online (Sandbox Code Playgroud)
我希望在SQL语言中至少找到一些可以做到这一点的方法; 如果还有一个动态虚拟属性查找,那就是在结构上的额外香草源.(今年冬天有这个人吗?)
我还担心被搜索的名称,例如,"Holmes"可能只能在"第一"列中搜索,而不能搜索到"最后"列,例如User.first.full_name #=> "Sherlock Holmes".
我确实尝试过更全面的搜索:
sql ruby-on-rails find virtual-attribute conditional-statements
我正在尝试为jQuery事件设置条件.我有一个输入元素和一个div.我想检测页面上任何地方的单击并执行该方法,但仅当点击不在输入或div上时.
我想从另一个单词列表中创建一个新列表; 当满足某个词的某个条件时.在这种情况下,我想将长度为9的所有单词添加到新列表中.
我用过 :
resultReal = [y for y in resultVital if not len(y) < 4]
Run Code Online (Sandbox Code Playgroud)
删除长度为4的所有条目.但是,我现在不想删除条目.我想创建一个包含单词的新列表,但将它们保留在旧列表中.
也许是这样的:
if len(word) == 9:
newlist.append()
Run Code Online (Sandbox Code Playgroud)
谢谢.
有没有办法在powershell函数中根据某些条件(例如:如果其中一个参数不存在或为false)强制使用某些参数?
我的想法是能够以两种方式调用函数.具体示例是从sharepoint获取列表的函数 - 我应该能够使用列表相对URL(一个且唯一的参数)或者使用web url和列表显示名称(两个参数,两者都是必需的,但仅当列表相对URL是不曾用过).
我希望我的问题很明确.
假设我们在C(或类似语言)中有以下代码:
if (x < 10)
do_work1();
else if (x < 5)
do_work2();
Run Code Online (Sandbox Code Playgroud)
在某些情况下,是否会执行此条件的第二个分支?编译器是否会警告无法访问的代码?
我刚测试了一些东西.我一直认为在OR条件下,一旦计算机/浏览器发现某些内容为真,它就会返回它并且不会测试其他条件.我围绕这个假设构建了我的代码.
但是,我计时了,似乎长测试需要x4次,对此有何解释?
注意:在Google Chrome控制台中测试.
JSPerf:
http://jsperf.com/or-condition return true || 1
http://jsperf.com/or-condition2 var condition = true || 1; return condition;
http://jsperf.com/or-condition3 if(true || 1) return true似乎相对更快.
编辑:我刚刚发现真实之后的条件数量并不重要.重要的是病情的长短.查看http://jsperf.com/or-condition5.
我的理论是浏览器由于其长度而将功能分成2个以上的不同内存区域.当它调用该函数时,它需要从多个内存区域而不是1中获取数据.
a = function(){
return true ||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1||1;
}
b = function(){
return true;
}
//#############################################
var start = Date.now();
for(var i = 0 ; i < 1000000 ; i++){
a();
} var end = Date.now();
console.log(end-start); //3075
var start = Date.now();
for(var i = 0 ; i < 1000000 ; i++){ …Run Code Online (Sandbox Code Playgroud) 我在这里浏览源代码:http://js-dos.com/games/doom2.exe.html并注意到一些事情:
if (typeof Module === 'undefined')
{
Module = eval('(function() {try { return Module || {} } catch(e) { return {} }})()');
}
Run Code Online (Sandbox Code Playgroud)
var在另一个内联标记中再次声明它,这次它检查模块是否存在.我的问题:如果只尝试再次返回模块,那么使用自调用函数声明Module有什么意义呢?是不是已经证明它不存在?为什么不直接将Module声明为{}?
对于可被2整除的数字,下面的代码会尝试打印出"均匀".
如果不是(测试)那么()而不是:if(!test)then(),当条件测试是"n%2"时.下面的代码似乎是"IF数字不能被2整除,打印输出'数字是偶数'",这似乎不合逻辑.
更一般地说,在指定条件时使用If语句编写"除非"函数有什么好处,当我们可以做的只是写入if(!condition)?
任何帮助深表感谢.
function unless(test, then) {
if (!test) then();
}
function repeat(times, body) {
for (var i = 0; i < times; i++) body(i);
}
repeat(5, function(n) {
unless(n % 2, function() {
console.log(n, "is even");
});
// ? 0 is even
// ? 2 is even
// ? 4 is even
Run Code Online (Sandbox Code Playgroud) dummies = matrix(c(0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0), nrow=6, ncol=6)
colnames(dummies) <- c("a","b", "c", "d", "e", "f")
Run Code Online (Sandbox Code Playgroud)
我有一个假人矩阵
> dummies
a b c d e f
[1,] 0 0 0 0 1 0
[2,] 0 0 1 0 0 0
[3,] 1 0 0 0 0 0
[4,] 0 0 …Run Code Online (Sandbox Code Playgroud) 情况是我Loading在获取请求时显示组件。我使用 store 设置$loading为true,内部条件是Loading组件。问题是加载组件似乎需要一些时间才能显示。感觉/看起来原因是加载组件的重新渲染。所以,我在 Svelte 中寻找v-show类似的东西,但我在文档中找不到。(如果有的话不要生气,告诉我即可。)
有人可以帮忙解决这个案子吗?
javascript ×3
function ×2
append ×1
c ×1
emscripten ×1
eval ×1
events ×1
find ×1
for-loop ×1
if-statement ×1
jquery ×1
list ×1
oop ×1
parameters ×1
performance ×1
powershell ×1
python ×1
r ×1
sql ×1
svelte ×1
svelte-3 ×1