有没有在推动本地git仓库的主分支被称为起源与远程存储库的主分支有什么区别git push origin master
或git push origin
?
我有一些Haskell代码是不会无限名单上正常工作,但我不明白为什么它可以做得很成功.(我修改了我原来的代码 - 没有处理无限列表 - 在网上加入其他代码的东西,突然间我发现它有效,但不知道为什么).
myAny :: (a -> Bool) -> [a] -> Bool
myAny p list = foldr step False list
where
step item acc = p item || acc
Run Code Online (Sandbox Code Playgroud)
我对foldr的理解是它将遍历列表中的每个项目(也许这种理解是不完整的).如果是这样,那么"步"函数的表达方式无关紧要......代码应该无法处理无限循环.
但是,以下工作:
*Main Data.List> myAny even [1..]
True
Run Code Online (Sandbox Code Playgroud)
请帮我理解:为什么?
关于如何在emacs中获取代码折叠有几个问题,而不必在评论中添加任何特殊字符,如"标记".有人说"没有完美的解决方案".
似乎可以通过解析正在编写的程序的源来查找匹配的括号或括号,或者基于缩进来完成它.您还可以使用使用不同方法的脚本组合.
那么为什么人们普遍认为没有"完美"和直接的方式在emac中获得代码折叠?emacs或其体系结构中是否存在某些难以编程的内容?如果这很容易,经过这么多年聪明的人使用emacs你会认为有人会写它.
我有一个双号223.45654543434
,我需要表现出来0.223x10e+2
.
我怎么能用Java做到这一点?
我试图在Haskell中编写程序,它将使用逗号分隔的整数数字串,将其转换为整数列表并将每个数字递增1.
例如
"1,2,-5,-23,15" -> [2,3,-4,-22,16]
以下是生成的程序
import Data.List
main :: IO ()
main = do
n <- return 1
putStrLn . show . map (+1) . map toInt . splitByDelimiter delimiter
$ getList n
getList :: Int -> String
getList n = foldr (++) [] . intersperse [delimiter] $ replicate n inputStr
delimiter = ','
inputStr = "1,2,-5,-23,15"
splitByDelimiter :: Char -> String -> [String]
splitByDelimiter _ "" = []
splitByDelimiter delimiter list =
map (takeWhile (/= delimiter) . tail) …
Run Code Online (Sandbox Code Playgroud) 我有一个元素列表,我希望更新它们:
由此: ["Off","Off","Off","Off"]
对此: ["Off","Off","On","Off"]
由于我对Haskell有点新,我一直在(x:xs)!!y
使用该函数提取和更新单个组件:
replace y z [] = []
replace y z (x:xs)
| x==y = z:replace y z xs
| otherwise = x:replace y z xs
Run Code Online (Sandbox Code Playgroud)
然后在ghci中输入以下内容: (replace "Off" "On" ["Off",'Off","Off","Off"]) !! 2
我得到以下内容: "On"
我似乎能够提取和转换列表的元素,但我似乎无法获得转换单个元素的列表.
任何有关此事的帮助将不胜感激.
每个方法都接受一组参数值.我们是否应该始终验证输入参数的非零值或允许代码失败RunTimeException
?
我看过很多代码,人们并没有真正检查输入参数的空值,只是使用参数编写业务逻辑.什么是最好的方法?
void public( String a, Integer b, Object c)
{
if( a == null || b == null || c == null)
{
throw new RunTimeException("Message...");
}
.....business logic.....
}
Run Code Online (Sandbox Code Playgroud) 我有一个有状态类型的>>
和>>=
运算符,几乎是一个monad.预期用途是为另一种语言生成代码,并且具有可用的标记将是非常合适的.
但是,没有明确定义的返回函数,因为值只应与副作用一起产生.因此,如果我伪造一个返回函数,return函数应该只返回一个错误,并且它违反了monad定律.(即使用返回函数永远无效.)
我观察到的是,这种说法只会使两个运算符,即运算符>>
和>>=
运算符.
有没有办法只为那些2个操作符保留像记号这样的东西,或者像它一样干净的东西,但没有制作monad?
注意:行下方是标题中不需要的详细信息.这就是为什么我问这个问题的背景,回答我感兴趣的问题.浏览这个主题的其他人可能更愿意忽略它.
更正:我没有将代码生成为命令式语言,尽管它无关紧要.我正在为Javascript生成代码.
澄清(响应bdonlan):我的类型是(ma),它带有一个状态(这是给定各种参数的代码,类似于状态monad)并将返回一个值(生成的代码中的变量名称) ,附有haskell类型).因此,不应该有一种方法来返回与变量名相关联的值,而不会生成定义变量名的代码.*这完全是由于我的设计,可能不如我未想到的其他设计.
回应答复:似乎有两种回应.首先,是否确实是可能的,也许是使用符号的最佳方式.第二个是关于使用monad是否更好,并定义一个返回(或者是否有意义不这样做 - 可能在以后的某个时间点,我会发现需要返回).
我要做的事情的例子:
data JsState = JsState { code :: String , vidCount :: Int }
-- vidCount is for generating unique variable names
newtype JsStmt = JsStmt ( JsState -> JsState )
newtype JsMonad a = JsMonad ( JsState -> ( a , JsState ) )
def :: (JsValue a) => a -> JsMonad a
-- Outputs "var " ++ toUniqueVarName vidCount …
Run Code Online (Sandbox Code Playgroud) 是否有可能在xsl中实现"if else,if else"?例如,我有数据:
<document>
<line>
<name>MAR111</name>
<value>1</value>
</line>
<line>
<name>MAR111</name>
<value>3</value>
</line>
<line>
<name>MEA111</name>
<value>1</value>
</line>
<line>
<name>MPR111</name>
<value>1</value>
</line>
<line>
<name>MEA111</name>
<value>4</value>
</line>
<line>
<name>MPR111</name>
<value>2</value>
</line>
</document>
Run Code Online (Sandbox Code Playgroud)
我需要获得三个具有三个名称的文档模板:
<document>
<MAR>
<name>MAR111</name>
<number>1</number>
<number>4</number>
</MAR>
</document>
<document>
<MEA>
<name>MEA111</name>
<number>1</number>
<number>4</number>
</MEA>
</document>
<document>
<MPR>
<name>MPR111</name>
<number>1</number>
<number>2</number>
</MPR>
</document>
Run Code Online (Sandbox Code Playgroud)
我尝试在应用模板上使用"选择,何时",但也许有更好的方法:
<xsl:template match="/">
<xsl:choose>
<xsl:when test="/document/line/name='MEA111'">
<xsl:apply-templates mode="MEA" select="/document"/>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="/document/line/name='MPR111'">
<xsl:apply-templates mode="MPR" select="/document"/>
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="/document/line/name='MAR111'">
<xsl:apply-templates mode="MAR" select="/document"/>
</xsl:when>
</xsl:choose>
</xsl:template>
Run Code Online (Sandbox Code Playgroud) 我是Microsoft Smooth Streaming的新手,对复合清单的制作有疑问.
遵循这里的指导.
我能够制作一个在Silverlight播放器中播放的单个剪辑元素的复合清单.
但是,当我尝试从其他视频添加更多剪辑时,播放器刚停止工作并且没有提供任何错误信息.
而我这一切都是手工完成的.当我尝试使用Expression Encoder 4 Pro创建这样的视频时,我得到了一个普通.ismc
文件而不是.csm
文件.
我的问题是:
制作包含来自不同视频的剪辑的复合清单的最佳方法是什么?编码这些视频时是否有任何规范要遵循?或复合清单的支持是否对视频格式有任何限制?
最后一个是:有一种简单的方法来调试它(比如验证我的.csm文件)吗?
编辑我自己的解决方案:
看起来没有人关心这个,但是因为我终于解决了这个问题,所以我在这里写下这个来节省别人的时间.
为了调试复合清单,我在Visual Studio中构建了一个简单的Silverlight应用程序,并添加了一个简单的函数来报告错误:
MainPage.xaml.cs中:
public MainPage()
{
InitializeComponent();
this.SmoothPlayer.SmoothStreamingErrorOccurred += new EventHandler<SmoothStreamingErrorEventArgs>(SmoothPlayer_SmoothStreamingErrorOccurred);
}
public void SmoothPlayer_SmoothStreamingErrorOccurred(object sender,
SmoothStreamingErrorEventArgs e)
{
MessageBox.Show("Error: " + e.ErrorCode + "; " + e.ErrorMessage);
}
Run Code Online (Sandbox Code Playgroud)
我发现这个网页很有用.
你需要使用:
<c t="", d"">
Run Code Online (Sandbox Code Playgroud)
代替
<c d="">
Run Code Online (Sandbox Code Playgroud)
你必须正确计算ClipBegin
和ClipEnd
价值.
下面是在python一个示例代码转换.ismc
到.csm
(假设下面的ISM是清单XML内容的xml.etree.ElementTree对象表示):
def ism2csm(url, ism):
if ism is None: return …
Run Code Online (Sandbox Code Playgroud) haskell ×4
java ×2
composite ×1
emacs ×1
fold ×1
folding ×1
formatting ×1
git ×1
git-push ×1
git-remote ×1
iis ×1
infinite ×1
list ×1
manifest ×1
methods ×1
monads ×1
null ×1
parameters ×1
silverlight ×1
split ×1
state ×1
string ×1
validation ×1
xslt ×1