我正在寻找一个算法,给出一组数字(例如1 2 3)和一个索引(例如2)将根据字典顺序得到这些数字的第二个排列.例如,在这种情况下,算法将返回1 3 2.
我有三个DropDownLists.如果选择了第一个DropDownList中的特定值,则应启用第二个Dropdownlist.例如,如果选择了"播放器3",则应启用另外两个DropDownList,但是,如果选择"播放器2",则应禁用最后一个DropDownList,并启用第二个DropDownList.
我怎么能轻松做到这一点?我首先使用的是MVC 3 EF模型.这是我的观点中的代码:
<p>Player</p>
<div class="editor-field">
@Html.DropDownListFor(m => m.PlayerName,Model.SubjectTypes, "Choose player" , new { @class = "selectstyle" })
@Html.ValidationMessageFor(model => model.PlayerName)
</div>
<p>Position</p>
<div class="editor-field">
@Html.DropDownListFor(model => model.PositionName, Model.Consultants, "Choose Position", new { @class = "selectstyle" })
@Html.ValidationMessageFor(model => model.ContactPerson)
</div>
<p>Team</p>
<div class="editor-field">
@Html.DropDownListFor(model => model.TeamName, Model.Teams, "Choose Team", new { @class = "selectstyle" })
@Html.ValidationMessageFor(model => model.ContactPerson)
</div>
Run Code Online (Sandbox Code Playgroud) 如何检查数字是否为5的幂?
我可以想到下面的算法.有没有办法改善它?任何数学技巧?
我是一个试图切换到R 的SPSS用户.
我在数据框中有几个变量(ea01
to ea06
; pre01
to pre09
).
数据来自调查问卷,采用Likert格式(1到5之间的整数).
SPSS可以选择验证这些变量的值,以检查它们是否都在预期范围内,并显示其中包含无效错误.
id ea01 ea02 ea03 ea04
1 4 5 6 5
2 3 2 1 3
3 3 2 4 0
4 5 3 4 3
Run Code Online (Sandbox Code Playgroud)
验证程序应该告诉我案例1作为变量中的无效值和变量中的ea03
案例3 ea04
.
如何在R中完成?
我有一些类型
type my_type_name =
| A of (float * float)
| B of (float * float)
| E
;;
Run Code Online (Sandbox Code Playgroud)
而且我知道我的代码中存在问题,如果p >= q
在B (p, q)
或中A (p, q)
.所以我想在类型中做出断言,这样如果我试着A (5, 1)
让它通知我.
是否可以在类型构造函数中进行断言?应该怎么样?
我试图避免这样的事情:
assert (p < q) ; A(p, q)
Run Code Online (Sandbox Code Playgroud)
因为我在代码中有很多A或B对象.
我正在编写程序,其中存在添加变量,这可能是无限的.在某些地方neg_infinity + infinity
应该是neg_infinity
或者infinity
,所以我试图让'if'保证正确的结果.但我不知道如何检查,如果变量是无穷大.简单if variable = infinity
是错误的,原因infinity = infinity
和infinity != infinity
.例子.分段:
let p = 42. /. 0.;;
if p = infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
if p != infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
Run Code Online (Sandbox Code Playgroud)
打印双"是".甚至p <= infinity
和p >= infinity
.
我的想法是检查,如果p >= infinity
(我相信,只有无限可以满足这种不平等.),但我不知道它是否总是正确的.
也检查==
,但不能正常工作,如预期.
我不知道,如何在OCaml中正确解决它,那么它应该如何实现呢?
我在haskell写作翻译.我想用monads做到这一点.我已经创建了解析器,所以我有很多函数:: State -> MyMonad State
,我可以使用bind运行我的程序.m >>= inst1 >>= inst2
.一切都很好,但我不知道如何使用那个monad用我的语言创建指令print
(或read
).
我不想要简单但丑陋的解决方案,比如保持字符串在State内打印,最后在main中打印.(如果我在打印时有无穷大怎么办?)我无法理解来自网络的关于monad功能部分的文本.有一些解释,如"在IO Monad中包装,它非常简单",但没有任何工作示例.几乎所有的印刷教程都是关于主要的印刷.
为了更好地解释问题,我准备了最小的"解释器"示例(如下).还有State
就是Int
,我的单子是AutomatM
说明有型:: Int -> AutomatM Int
.所以可能的指令是:
inc :: Int -> AutomatM Int
inc x = return (x+1)
Run Code Online (Sandbox Code Playgroud)
我设计它就像我想象的那样简单:
import Control.Applicative
import Control.Monad (liftM, ap)
import Control.Monad.IO.Class (MonadIO(..))
import System.IO
data AutomatM a = AutomatError | Running a
instance Show a => Show (AutomatM a) where
show (AutomatError) = "AutomatError"
show (Running a) = "Running …
Run Code Online (Sandbox Code Playgroud)