为什么Dict(5:2)不会在Julia中抛出错误?

时间:2018-04-11 20:08:19

标签: julia

似乎我不能在Julia中编写Dict(5:3)(不会返回错误)。或Dict(1:-1:3)。或者,任何时候第一个数字大于第二个数字小于第三个数字。这是一个错误吗?通过UnitRange定义字典确实没有多大意义。或者我只是不理解朱莉娅如何解释这个?

1 个答案:

答案 0 :(得分:3)

import C from '../constants' import appReducer from './reducers' import { createStore, applyMiddleware } from 'redux' const consoleMessages = store => next => action => { let result console.groupCollapsed(`dispatching action => ${action.type}`) console.log('ski days', store.getState().allSkiDays.length) result = next(action) let { allSkiDays, goal, errors, resortNames } = store.getState() console.log(` ski days: ${allSkiDays.length} goal: ${goal} fetching: ${resortNames.fetching} suggestions: ${resortNames.suggestions} errors: ${errors.length} `) console.groupEnd() return result } export default (initialState={}) => { return applyMiddleware(consoleMessages)(createStore)(appReducer, initialState) 构造函数只使用通常所称的" duck-typing" - 它没有明确地查看它传递的内容,它只是试图使用它,因为它预期:

Dict

你将它传递给一个空的iterable,所以这构造了一个空字典。

这种情况确实有点奇怪,因为我们不仅仅知道它是一个空的可迭代的事实。我们知道它是一个数组,我们知道具体的元素类型,我们知道如果它有任何元素,它肯定是错误的。同时它是一个空集合,我期望空集合创建空字典。