标签: case

Lua中的不区分大小写的数组

我正在尝试为WoW编程一个插件(在lua中).这是一个基于特定单词的聊天过滤器.我无法弄清楚如何使这些单词的数组不区分大小写,以便该单词的任何大写/小写组合与数组匹配.任何想法将不胜感激.谢谢!

local function wordFilter(self,event,msg)
local keyWords = {"word","test","blah","here","code","woot"}
local matchCount = 0;
    for _, word in ipairs(keyWords) do
            if (string.match(msg, word,)) then
            matchCount = matchCount + 1;
        end
    end
    if (matchCount > 1) then
            return false;
    else
        return true;
    end
end
Run Code Online (Sandbox Code Playgroud)

arrays lua case

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

在语句中选择子查询然后是什么情况?

有没有办法在sql server case/when语句中从"then"运行select语句?(我需要从then语句运行子查询.)我不能在where语句中使用它.

select 
  case @Group 
    when 6500 then (select top 10 * from Table1)
    when 5450 then (select top 5 * from Table1)
    when 2010 then (select top 3 * from Table1)
    when 2000 then (select top 1 * from Table1)
    else 0 
  end as 'Report'
Run Code Online (Sandbox Code Playgroud)

sql case subquery sql-server-2008

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

SQL SERVER:检查变量是否为null,然后为Where子句分配语句

我试图在sql中的WHERE子句中实现类似下面的内容.

if (@zipCode ==null)
begin
([Portal].[dbo].[Address].Position.Filter(@radiusBuff) = 1)   
end
else if(@zipCode !=null)
begin
([Portal].[dbo].[Address].PostalCode=@zipCode )
end  
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

WHERE ((@zipCode IS NOT NULL AND ([Portal].[dbo].[Address].PostalCode=@zipCode)) OR (@zipCode IS NULL AND ([Portal].[dbo].[Address].Position.Filter(@radiusBuff) = 1)))
Run Code Online (Sandbox Code Playgroud)

这是错的.任何人都可以帮助构建确切的声明.谢谢!

sql t-sql sql-server case sql-server-2008

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

为什么`Nil`被定义为`case object`

在scala源代码中,我发现:

case object Nil extends List[Nothing] {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它被宣布为case object而不是object

我发现这个问题[ 案例对象和对象之间的区别 ]是有用的,我猜这个原因是关键:

序列化的默认实现

因为我们经常将数据列表发送给另一个actor,所以Nil必须是可序列化的,对吧?


通过提供的答案(谢谢),我尝试编写一些代码来验证它:

trait MyList[+T]

object MyNil extends MyList[Nothing]

val list: MyList[String] = MyNil

list match {
  case MyNil => println("### is nil")
  case _ => println("### other list")
}
Run Code Online (Sandbox Code Playgroud)

你可以看到MyNil不是case object,但我仍然可以在模式匹配中使用它.这是输出:

### is nil
Run Code Online (Sandbox Code Playgroud)

我误解了什么吗?

null scala list case

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

Haskell案例中的范围检查?

是否有一种在Haskell中执行以下操作的有效方法:

case n of
    0     -> doThis
    1     -> doThat
    2     -> doAnother
    3..99 -> doDefault
Run Code Online (Sandbox Code Playgroud)

除了拥有97行"doDefault"之外?

haskell case

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

Clojure范围宏

作者R. Kent Dybvig在第86页的"The Scheme Programming Language,4th Edition"一书中,作者define-syntax为一个case接受其条件范围的语句编写了一个(Scheme宏).我以为我会在Clojure中尝试这个.

这是结果.

我怎样才能改善这个?我用:ii,:ie,:ei,和:ee用于运营商的范围,分别表示包含性的包容性,包容独占的,独占的包,以及异排他性的,.有更好的选择吗?

我选择扩展到一个cond而不是离散的if陈述,因为我觉得我将从cond宏的任何未来改进中获益.

(defmacro range-case [target & cases]
  "Compare the target against a set of ranges or constant values and return
   the first one that matches. If none match, and there exists a case with the
   value :else, return that target. Each range consists of a vector containing
   3 terms: a lower bound, …
Run Code Online (Sandbox Code Playgroud)

macros case clojure

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

Ruby:Case使用对象

有没有办法隐式调用case语句的对象上的方法?IE:

class Foo

  def bar
    1
  end

  def baz
    ...
  end

end
Run Code Online (Sandbox Code Playgroud)

我希望能做的就是这样......

foo = Foo.new
case foo
when .bar==1 then "something"
when .bar==2 then "something else"
when .baz==3 then "another thing"
end
Run Code Online (Sandbox Code Playgroud)

...其中"when"语句正在评估case对象上方法的返回.这样的结构有可能吗?如果是这样的话,我一直无法弄清楚语法......

ruby case object

6
推荐指数
3
解决办法
2387
查看次数

BASH不是在案件中

嘿伙计们,我正试图找出一个在案件中做一个NOT条款的理智方式.我这样做的原因是为了满足一个案例时的转码,即如果我点击avi,没有理由再把它变成avi,我可以把它移开(这就是它的范围)我的情况应该做的基础).无论如何,我有一些 我写的原型代码,它给出了我想要做的事情的要点.

#!/bin/bash
for i in $(seq 1 3); do 

    echo "trying: $i"

    case $i in
        ! 1)    echo "1" ;;     # echo 1 if we aren't 1
        ! 2)    echo "2" ;;     # echo 2 if we aren't 2
        ! 3)    echo "3" ;;     # echo 3 if we aren't 3
        [1-3]*) echo "! $i" ;;  # echo 1-3 if we are 1-3
    esac

    echo -e "\n"

done
Run Code Online (Sandbox Code Playgroud)

预期的结果将是这样的

2 3 ! 1
1 3 …
Run Code Online (Sandbox Code Playgroud)

bash case

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

SQL Server选择Distinct并使用CASE排序

我已经看过很多关于这个场景的问题/论坛帖子,但是我要么不理解解决方案,要么提供的解决方案对于那个特定问题太具体了,我不知道如何将它应用到我的情况中.我有以下查询:

SELECT DISTINCT d.*
FROM Data d
JOIN Customers c 
ON c.Customer_Name = d.Customer_Name
AND c.subMarket = d.subMarket
JOIN Sort s 
ON s.Market = c.Market
ORDER BY d.Customer_Name, d.Category, d.Tab, d.SubMarket,
CASE s.sortBy
WHEN 'Comp_Rank'
THEN d.Comp_Rank
WHEN 'Market_Rank'
THEN d.Market_Rank
ELSE d.Other_Rank
END
Run Code Online (Sandbox Code Playgroud)

我在MySQL数据库上使用了那个确切的查询,它运行得很好.我们最近切换到SQL Server数据库,现在它不起作用,我收到错误:

ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
Run Code Online (Sandbox Code Playgroud)

我已经尝试将s.*添加到SELECT中(因为s.sortBy在CASE中)并且没有改变任何东西我也尝试列出Data中的每个字段并在SELECT中排序并且导致相同的精确错误.

数据中实际上没有重复,但是当我进行连接时,每个项目会产生4个完全重复的行,我不知道如何修复它,这就是我最初添加DISTINCT的原因.我尝试了LEFT JOIN,INNER JOIN等等的各种变化......并且无法获得不同的结果.无论如何,任何一个问题的解决方案都可以,但我假设需要更多信息才能找出JOIN重复问题.

编辑:我刚刚意识到我错误地输入了ORDER BY中的一些字段(例如,n.Category,n.Tab应该是d.Category,d.Tab).ORDER BY中的所有内容都来自我选择的数据表*.正如我所说,我也尝试列出SELECT中的每个字段,但没有帮助.

sql case distinct sql-order-by

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

关于Oracle中多个条件的案例陈述

CASE test
WHEN  NULL and  SUBSTR(('99999999' - Tst_Date),1,4) > 2009 THEN 'Medi'                     
WHEN   NULL and SUBSTR(('99999999' - Tst_Date),1,4) < 2009 THEN 'hills'
ELSE test
END AS "Phy"
Run Code Online (Sandbox Code Playgroud)

我在上述案例陈述中遗漏了什么吗?我一直在收到00905. 00000 - "缺少关键字"错误?

sql oracle case

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