标签: restriction

为什么Scala for-loop(和内部)NumericRange限制为Int大小以及如何详细说明功能?

对Scala for-loop理解的NumericRange Int大小限制背后的原因是什么?是否有可能(没有太多头痛)扩展"for/Seqs"NumericRange以使用Long(或任何大于Int.MaxValue的东西)?

scala>for (i: Long <- 0L to 10000000000) {}

java.lang.IllegalArgumentException: 0 to 10000000000L by 1: "seqs cannot contain more than Int.MaxValue elements."
    at scala.collection.immutable.NumericRange$.count(NumericRange.scala:227)
    at scala.collection.immutable.NumericRange.numRangeElements(NumericRange.scala:53)
    at scala.collection.immutable.NumericRange.length(NumericRange.scala:55)
    at scala.collection.immutable.NumericRange.foreach(NumericRange.scala:73)
    at .<init>(<console>:19)
    at .<clinit>(<console>)
    at .<init>(<console>:11)
    at .<clinit>(<console>)
    at $print(<console>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
    at scala.tools.nsc.interpreter.IMain$Request$$anonfun$14.apply(IMain.scala:920)
    at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:43)
    at scala.tools.nsc.io.package$$anon$2.run(package.scala:25)
    at java.lang.Thread.run(Thread.java:680)
Run Code Online (Sandbox Code Playgroud)

-
提前谢谢!

for-loop scala restriction

10
推荐指数
2
解决办法
4427
查看次数

限制对Excel工作表的查看访问权限

我认为这将是Excel中一个易于使用的功能,但实现一个简单的过程来限制对较大工作簿中的特定工作表的访问是非常困难的.

有一些方法可以提示初始密码来打开同一工作簿的各种版本.但我想让所有用户都保持相同的工作簿,但限制访问某些工作表.当然有密码保护功能,要求用户输入密码才能查看表格.而不是基于不同的用户创建同一工作簿的多个版本.

我尝试了以下但它没有提示密码来访问工作表

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Dim MySheets As String, Response As String
Dim MySheet As Worksheet
MySheet = "COMMUNICATION"
If ActiveSheet.Name = MySheet Then
ActiveSheet.Visible = False
    Response = InputBox("Enter password to view sheet")
        If Response = "MyPass" Then
            Sheets(MySheet).Visible = True
            Application.EnableEvents = False
            Sheets(MySheet).Select
            Application.EnableEvents = True
        End If
End If
Sheets(MySheet).Visible = True
End Sub
Run Code Online (Sandbox Code Playgroud)

我这样做了吗?

excel vba restriction password-protection

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

有没有办法在Javascript中监禁,以便DOM不可见

我真的想为用户提供一些脚本功能,同时不让它访问更强大的功能,比如改变DOM.也就是说,所有输入/输出都通过给定接口进行隧道传输.就像一种受限制的javacsript.

示例:如果checkanswer(func) 允许接口:

checkanswer( function (x,y)={
   return x+y;
}
Run Code Online (Sandbox Code Playgroud)

但这些是不允许的:
alert(1)
document.write("hello world")
eval("alert()")

编辑:我想到的是一个使用javascript实现的简单语言,如http://stevehanov.ca/blog/index.php?id=92

javascript scripting dom restriction

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

CROSS APPLY具有表值函数限制性能

我对CROSS APPLY参数化表值函数有问题.这是简化的伪代码示例:

SELECT * 
FROM (
    SELECT lor.*
    FROM LOT_OF_ROWS_TABLE lor
    WHERE ...
) AS lor
CROSS APPLY dbo.HeavyTableValuedFunction(lor.ID) AS htvf
INNER JOIN ANOTHER_TABLE AS at ON lor.ID = at.ID 
WHERE ...
Run Code Online (Sandbox Code Playgroud)
  • 表上的内部选择LOT_OF_ROWS_TABLE返回许多行.
  • 连接表LOT_OF_ROWS_TABLEANOTHER_TABLE只返回一行或几行.
  • 表值函数非常耗时,并且在调用大量行时,select会持续很长时间.

我的问题:

LOT_OF_ROWS_TABLE无论在加入时数据是否受限这一事实,都会为所有返回的行调用该函数ANOTHER_TABLE.

选择必须采用所示的格式 - 它是生成的,实际上它更加困难.

当我尝试重写它时,它可以非常快,但它不能像这样重写:

SELECT * 
FROM (
    SELECT lor.*
    FROM LOT_OF_ROWS_TABLE lor
    WHERE ...
) AS lor
INNER JOIN ANOTHER_TABLE AS at ON lor.ID = at.ID 
CROSS APPLY dbo.HeavyTableValuedFunction(at.ID) AS htvf …
Run Code Online (Sandbox Code Playgroud)

sql-server performance restriction cross-apply

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

我可以将枚举限制为另一个枚举的某些情况吗?

说我有面包店和成分库存:

enum Ingredient {
    case flower     = 1
    case sugar      = 2
    case yeast      = 3
    case eggs       = 4
    case milk       = 5
    case almonds    = 6
    case chocolate  = 7
    case salt       = 8
}
Run Code Online (Sandbox Code Playgroud)

案例rawValue代表库存编号.

然后我有两个食谱:

巧克力蛋糕:

  • 500克花
  • 300克糖
  • 3个鸡蛋
  • 200毫升牛奶
  • 200克巧克力

杏仁蛋糕:

  • 300克花
  • 200克糖
  • 20克酵母
  • 200克杏仁
  • 5个鸡蛋
  • 2克盐

现在我定义一个函数

func bake(with ingredients: [Ingredient]) -> Cake
Run Code Online (Sandbox Code Playgroud)

当然,我相信我的员工,但我仍然想确保他们只使用正确的成分来烘焙蛋糕.

我可以通过定义两个单独的枚举来做到这一点:

enum ChocolateCakeIngredient {
    case flower
    case sugar
    case eggs
    case milk
    case chocolate
}

enum AlmondCakeIngredient { …
Run Code Online (Sandbox Code Playgroud)

enums restriction swift

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

XSD用于简单包含属性和文本

如何验证具有属性的元素的文本长度.例如:

    <sport code="FB">Football</sport>
Run Code Online (Sandbox Code Playgroud)

现在我需要限制代码属性的可能值(如"FB","BB","TT"),还需要限制文本的可能值和长度("Football","BasketBall"," TableTennis")以及这些文本的最大长度("Football","BasketBall","TableTennis")可以是20.

我试过了

<complexType name="sport">
  <simpleContent>
    <extension base="string">
        <attribute name="code" type="code" />
    </extension>
  </simpleContent>
</complexType>
<simpleType name="code">
    <restriction base="string">
        <enumeration value="FB" />
        <enumeration value="BB" />
        <enumeration value="TT" />
    </restriction>
</simpleType>
Run Code Online (Sandbox Code Playgroud)

但我无法验证文本"Foolball"的长度(也可能是值)你能否帮助解决如何验证代码和文本.谢谢

xml validation xsd restriction

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

XSD中相同元素的内容限制和属性验证

我想验证一个元素'Test'应该

  • 限制其内容(例如,使用模式限制),以及
  • 包含某些属性(例如,'id','class'和'name').

我写的XSD看起来像这样:

<xsd:element name="Test" minOccurs="0" maxOccurs="unbounded">
  <xsd:complexType mixed="true">
    <xsd:simpleContent>
      <xsd:restriction>
        <xsd:pattern value="xyz"/>
      </xsd:restriction>
    </xsd:simpleContent>
    <xsd:attribute name="id" type="xsd:string"></xsd:attribute>
    <xsd:attribute name="class" type="xsd:string"></xsd:attribute>
    <xsd:attribute name="name" type="xsd:string"></xsd:attribute>
  </xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

但是,当我在Visual Studio中编写代码时,我在'xsd:attribute'元素上得到以下错误:

"属性"和内容模型是互斥的

有没有办法在同一元素上验证内容限制属性?

attributes xsd restriction

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

使用.htaccess限制对文件的访问

我有2个域托管在同一个帐户,但我想限制第二个域不访问文件.

我有abc123.com和zyx987.com.

在我的PHP我做我需要的一切,我需要显示基于域的域名和模板,但我只想从abc123.com访问/下载文件.

下载文件夹包含以下文件:file1.pdf或file2.zip.

我尝试了'拒绝所有人',但这没有用,因为其他域也被阻止了.

还有另外一种方法吗?

apache .htaccess mod-rewrite restriction

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

OWL限制 - 定义仅包含具有特定属性值的属性的类

我目前正在玩OWL,特别是有限制.我正在尝试创建执行以下操作的查询:

假设我有一个类'Cinema',它有一个属性'movies'(包含'Movie'类型的对象)."电影"类包含名为"genre"的属性.现在我想创建一个只有类型为'action'的电影的ActionCinemas类.

我真的不知道该怎么做.我正在考虑用交叉点或基数来做某事,但我不确定.

有人能帮我一把吗?

rdf owl restriction restrictions

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

我可以将枚举定义为另一个枚举案例的子集吗?

注意:这与我昨天在Stackoverflow上发布的另一个问题基本相同.但是,我认为我在那个问题中使用了一个不好的例子,这个例子并没有完全归结为我的想法.由于对原始帖子的所有回复都提到了第一个问题,我认为将新示例放在一个单独的问题中可能更好一点 - 没有重复的意图.


可以移动的模型游戏角色

让我们定义一个简单游戏中使用的方向枚举:

enum Direction {
    case up
    case down
    case left
    case right
}
Run Code Online (Sandbox Code Playgroud)

现在在游戏中我需要两种角色:

  • HorizontalMover只能左右移动的A.
  • A VerticalMover只能上下移动.

他们都可以移动所以他们都实现了

protocol Movable {
    func move(direction: Direction)
}
Run Code Online (Sandbox Code Playgroud)

那么让我们定义两个结构:

struct HorizontalMover: Movable {
    func move(direction: Direction)
    let allowedDirections: [Direction] = [.left, .right]
}

struct VerticalMover: Movable {
    func move(direction: Direction)
    let allowedDirections: [Direction] = [.up, .down]
}
Run Code Online (Sandbox Code Playgroud)

问题

...使用这种方法是我仍然可以将不允许的值传递move()函数,例如以下调用将是有效的:

let horizontalMover = HorizontalMover()
horizontalMover.move(up) …
Run Code Online (Sandbox Code Playgroud)

enums subset restriction swift

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